1日に1回スクリプトを実行する

1日に1回スクリプトを実行する

私の質問は「コンピュータ ソフトウェア」に当てはまると思いますが、そうでない場合は教えてください。

そこで、WebDav マウントを設定して、keepassxc でパスワード データベースを問題なくロードできるようにしました。次に、指定されたファイル (パスと名前は常に同じ) を 1 日に 1 回、できればできるだけ早い時間にバックアップしたいと思います。必要なスクリプトはすでに設定しました。

echo "[`date`] Doing an automated Backup of my KeePass-File... ({,[BACKUP DRIVE]Backups/KeePass/Keepass-`date +"%Y-%m-%d"`.kdbx})" >> [LOG FOLDER]/keepass-backup.log
chown [USER : GROUP] [LOG DIRECTORY]/keepass-backup.log
/bin/cp [SOURCE DIRECTORY]/current.kdbx {,[BACKUP DRIVE]/Backups/KeePass/Keepass-`date +"%Y-%m-%d"`.kdbx}

しかし、ジョブを希望どおりに自動的に実行する方法を見つけることができませんでした。ただし、「/etc/cron.daily」というフォルダーについては見つけることができました。これは 1 日に 1 回実行されるようで、初めて実行できるものでなくても問題ありません。しかし、うまくいかないようです。これらのフォルダーは、「anacron」というサービスによって管理されていることがわかりました。これは Manjaro x86_64 Gnome にプリインストールされていましたが、設定は何もしていませんでした。

ヒントや解決策があれば嬉しいです :)

よろしく

答え1

以下を実行できます:

crontab -e

また、テキスト エディターが提供され、設定方法を説明するコメントが多数表示されます。

次に、各列の指定を含む行を最後に追加します。こうすることで、たとえば毎日 08:00 にスクリプトを実行できます。

あるいは、スクリプトを /etc/cron.daily 内に置くこともできます。スクリプトには、シェバン (先頭の #!/folder/shell) と実行権限が必要です。既存のものを調べてみてください。

答え2

私も同様の問題を抱えています(クラウド内のサーバー上の重要なファイルを自分の PC にバックアップする)。

簡単な解決策

私は Kubuntu (KDE デスクトップ) を実行していますが、他のデスクトップでも同等のユーティリティを見つけることができます。

私は、毎日早朝 (午前 7 時) にバックアップを実行するスクリプトを実行するように、KAlarm (通常は指定された時間にユーザーに情報を表示する) を設定しました。

KAlarm は電源投入後すぐにアラームを実行するため、朝 PC を開いたときに最初に実行されるものの 1 つがバックアップです。

堅牢なソリューション

堅牢な解決策は、cron ジョブを使用することです。ただし、1 日に 1 回だけ実行しないでください。1 時間ごと、または 10 分ごとに実行し、スクリプトでその日のバックアップがすでに完了しているかどうかを判断します (実行が成功したら、/tmp または /var/run にトラッカー ファイルを残して、次の実行で確認できるようにします)。

関連情報