
何らかの理由でバックアップが開始されても機能しませんcron
。
クローンタブ項目
0 10 * * * /home/yzT/BackupDaily.sh
毎日のバックアップ.sh
#!/bin/bash
/home/yzT/Tools/FreeFileSync/FreeFileSync /home/yzT/Tools/FreeFileSync/BackupDaily.ffs_batch
からcronがバックアップスクリプトを実行していることがわかりますsyslog
。
Oct 20 10:00:01 debian CRON[2589]: (yzT) CMD (/home/yzT/BackupDaily.sh)
手動で実行すると、バックアップシステム(FreeFileSystem
)がデスクトップにログファイルを生成し、バックアップディレクトリに更新されたファイルを表示できます。ただし、cron
ログファイルを取得できず、更新も表示されません。
問題をどのように見つけるか解決できますか?
編集する
問題の原因を見つけました。 TTYに切り替えてスクリプトを実行すると、次のメッセージが表示されますError: Unable to initialize GTK+, is DISPLAY set properly?
。したがって、スクリプトを使用するGUIはありませんが、スクリプトがGUIアプリケーションにアクセスしようとしているように見えます。この問題をどのように解決できますか?
答え1
システムの唯一のユーザーの場合は、crontab
ファイルの上部にcrontab -e
編集(使用)して追加します。DISPLAY=:0.0
または、次のようにバックアップジョブを実行してみることもできます。
/home/yzT/Tools/FreeFileSync/FreeFileSync /home/yzT/Tools/FreeFileSync/BackupDaily.ffs_batch --display=:0.0
答え2
拡張子を持つファイル.ffs_batchFreeFileSync アプリケーションに関連付けられた XML テキストです。したがって、cron(crontab -e)でプログラムする2つの正しい方法があります。
export DISPLAY=:0; /path_to/FreeFileSync /path_to/file.ffs_batch
または
/path_to/FreeFileSync /path_to/file.ffs_batch --display=:0.0
「GTK+を初期化できません。DISPLAYが正しく設定されていますか?」エラーはタスクを実行する人を定義しないために発生するため、次のように指定する必要があります。
sudo crontab -e
# or
crontab -e
操作を実行するには、時間/分/秒/日/週/月も指定する必要があります。例:
0 10 * * * export DISPLAY=:0; /path_to/FreeFileSync /path_to/task.ffs_batch
# or
@weekly export DISPLAY=:0; /path_to/FreeFileSync /path_to/task.ffs_batch
源泉:ミラー同期
答え3
クローン操作では*の代わりに1-59を使用する必要があります。
1 10 * * * /home/yzT/BackupDaily.sh