OpenCVを使用してC言語で書かれたプログラムがあります。 Webカメラから画像をキャプチャし、引数で指定された名前を使用してディスクに保存します。毎分トリガーしたいので、crontabに次の行を挿入します。
* * * * * /home/mustafa/Desktop/capture2/capture2 `date +\%y\%m\%d\%H\%M` >> /home/mustafa/Desktop/webcam.log
コンソールでコマンドを実行すると、コマンドは期待どおりに実行されます。ただし、crontabでは実行されません。
私のcrontab構文に問題がありますか?
編集:これはAngström Linuxです。
ベストアンサー1
時には、スクリプトのコマンドは、実行中のユーザーのPATH環境変数によって異なります。
このcrontabの先頭にPATH環境変数を追加してみてください。正しいシェルを使用することは問題かもしれません。具体的には、実際の Debian システムでは、標準シェル /bin/sh が /bin/bash ではなく /bin/dash に接続されます。スクリプトで正しいshebangを使用してこの問題を解決したり、crontabプロセスのSHELL env varを変更したりできます。
SHELL=/bin/bash
PATH=<Path Var of The Running user>
man 5 crontab
追加の説明も参照してください。