ubuntuボックスの特定のディレクトリに追加されたファイルに反応し、スクリプトを実行するようにincrontabルールを設定しました。これは問題なく動作しますが、私の目標は、そのスクリプトの出力をファイルに出力することです。
私はそれについていくつかの異なる方法を試しましたが、これまでのところ機能させることができた唯一の方法は、incrontab が作成する生成されたコマンドを取得し、それを自分で実行することです。だから私の考えでは、経験豊富なLinuxユーザーにとって明らかな何かが欠けている可能性があります。
簡潔にするために、いくつかのコマンドを短縮しました。「watchdir」「scriptPath」「arg1」はすべてパスです。スクリプトに arg1 という 2 つの引数と、cron ジョブからのファイル名ワイルドカードを取り込みます。
私は試しました:(これらはスクリプトを実行しますが、ファイルに出力しません)
watchdir IN_CREATE scriptPath arg1 $# >> /home/ubuntu/logs/log-$# 2>&1
watchdir IN_CREATE scriptPath arg1 $# &>> /home/ubuntu/logs/log-$#
(これらはまったく何もしません)
watchdir IN_CREATE /bin/bash scriptPath arg1 $# >> /home/ubuntu/log/log-$# 2>&1
watchdir IN_CREATE /bin/bash scriptPath arg1 $# &>> /home/ubuntu/log/log-$#
「tail /var/log/syslog」を実行し、以下の incrontab から生成されたコマンドを取得してシェルに貼り付けると、正常に動作します
watchdir IN_CREATE scriptPath arg1 $# &>> /home/ubuntu/logs/log-$#
これは機能します
scriptPath arg1 ミッション-LHPUQ7ezcF0s0UwVgUR.txt &>> /home/ubuntu/logs/log-mission-LHPUQ7ezcF0s0UwVgUR.txt
私が見逃している可能性があるものについての洞察はありますか?