0

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

私が見逃している可能性があるものについての洞察はありますか?

4

2 に答える 2