crontabは、Linuxで繰り返しジョブをスケジュールするのに非常に役立ちます。特定の時間間隔で実行するように任意のスクリプトまたはコマンドをスケジュールできます。 cronによって実行されるすべてのジョブはバックグラウンドで実行されます。システム管理者として、システムまたはアプリケーションの構成ファイルのバックアップの重要性を認識しており、cronjobを介してバックアップを実行しますが、ほとんどの場合、cronjobを取り戻すことを忘れています。
この記事では、特定のユーザーまたはシステム内のすべてのユーザーのスケジュールされたジョブのバックアップを取る方法について説明します。 Crontabのインストールまたは詳細については、以前の記事を参照してください。
CentOS /RHEL6/5にCrontabをインストールする方法
LinuxでのCrontabとジョブをスケジュールするための20の便利な例
1。シングルユーザーのcronジョブのバックアップ
現在ログインしているユーザーからスケジュールされたジョブのバックアップを取ります。このコマンドは、txtファイルにリストされている現在のジョブのすべての出力を保存します。そこから簡単に復元できます。
# crontab -l > cron-backup.txt
システム内の他のユーザーのジョブをバックアップするには、たとえば、ユーザー johnにスケジュールされているすべてのジョブのバックアップを取ります。 。
# crontab -u john -l > john-cron-backup.txt
2。バックアップからシングルユーザーのcronジョブを復元する
cronジョブは、上記で作成したバックアップから簡単に復元できます。以下は、上記の手順で作成したバックアップからジョブを復元する2つのコマンドです。
# crontab cron-backup.txt # crontab -u john john-cron-backup.txt
3。 CentOS/RHELですべてのユーザーのcronジョブをバックアップする
CentOS / RHELのユーザーに対してスケジュールしたすべてのcronジョブは、ユーザー名のファイルに物理的に保存されます。 / var / spool / cronの下 ディレクトリ。したがって、すべてのユーザーのすべてのジョブのバックアップを作成するには、/ var / spool/cronディレクトリに戻るだけです。
# zip -r cronjobs-all.zip /var/spool/cron
これをcrontabのジョブとしてスケジュールして、独自のバックアップを取ることもできます
0 2 * * * zip -r cronjobs-all.zip /var/spool/cron
4。 UbuntuとDebianですべてのユーザーのcronジョブをバックアップする
UbuntuとDebianのユーザーにスケジュールされたすべてのCronjobは、ユーザー名とともにファイルに物理的に保存されます。 / var / spool / cron / crontabs /の下 ディレクトリ。したがって、すべてのユーザーのすべてのジョブのバックアップを作成するには、/ var / spool / cron/crontabsディレクトリのバックアップを作成するだけです。
# zip -r cronjobs-all.zip /var/spool/cron/crontabs
これをcrontabのジョブとしてスケジュールして、独自のバックアップを取ることもできます
0 1 * * * zip -r cronjobs-all.zip /var/spool/cron/crontabs