Cronjob出力が機能しません。

Cronjob出力が機能しません。

次のスケジュールされたタスクがあります。

#!/bin/bash
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
mkdir -p $YEAR/$MONTH/$DAY
mysqldump -uroot -p1234 locatari > $YEAR/$MONTH/$DAY/backup.sql

3分ごとに実行したいです。crontab次のコマンドをそれぞれ試しましたが、そのうち何も機能しないようです。

3 * * * * /usr/bin /home/rome/cronjob/back.sh > /home/rome/cronjob
3 * * * * /home/rome/cronjob/back.sh/
3 * * * * exec `/bin/bash /home/rome/cronjob/back.sh`
3 * * * * /bin/bash /home/rome/cronjob/back.sh > /dev/null 2>&1

私は次のような場合にのみ実行します。

bash back.sh

bashコマンドを使用すると、すべてが期待どおりに機能します。クローンスケジューラにはどんな問題がありますか?問題は、crontabコマンドを使用すると出力が表示されず、bashコマンドでのみ機能することです。

ベストアンサー1

crontabコマンドラインに入力した内容と一致する作業項目はありません。

  1. /usr/bin /home/rome/cronjob/back.shプログラムを実行しようとしている/usr/binディレクトリです。
  2. /home/rome/cronjob/back.sh/スクリプトをディレクトリとして扱う
  3. exec `/bin/bash /home/rome/cronjob/back.sh`試してみてください出力実行するプログラム名として
  4. /bin/bash /home/rome/cronjob/back.sh > /dev/null 2>&1これは効果があるかもしれません。ただ、スクリプトのすべての出力を削除してエラーが表示されないことです。

あなたのコメントフィードバックによると、次のようなものが欲しいと思います(/home/romeどうせホームディレクトリなので省略します)。

*/3 * * * * cd cronjob && bash back.sh >back.log 2>&1

おすすめ記事