Cronの起動時にバックアップが機能しない

Cronの起動時にバックアップが機能しない

何らかの理由でバックアップが開始されても機能しません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

関連情報