予約されたもの:
*/5 * * * * /home/owner/scripts/upload_main.sh
Upload_main.sh:
#!/bin/bash
flock -xn /home/owner/locks/upload.lck -c /home/owner/scripts/upload_silent.sh
upload_silent.sh:
#!/bin/bash
rclone move /home/owner/gdrive/Movies/ gdrive:movies --transfers=6 --no-traverse --quiet
rclone move /home/owner/gdrive/"TV Shows"/ gdrive:tv --transfers=6 --no-traverse --quiet
# remove empty directories
find /home/owner/gdrive/Movies/* -empty -type d -delete 2>/dev/null
find /home/owner/gdrive/"TV Shows"/* -empty -type d -delete 2>/dev/null
私のcrontabはupload_main.shスクリプトを実行しませんが、スクリプトの実行は独立して動作します。 grep CRONは、cronがエラーなしで実行されていることを示しています。
root以外のユーザーアカウントとしてUbuntu 14.04を使用しています。
答え1
cronjobの出力を>/dev/null 2>&1
(デバッグに適した)リダイレクトしないため、出力はユーザーアカウントに「メールで送信」する必要があります。/var/mail
メッセージを読み、cron出力を見つけます。そこでエラーを見つけなければなりません。
答え2
crontab の末尾に空白行があると実行されないことがあります。
私はこれがここの質問ではないことを知っていますが、同じ問題があったとき、これは私の答えでした!
答え3
問題を発見しました。 rcloneにフルパスを使用する必要がありました。/usr/local/bin/rclone