Systemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法
日々の仕事や生活において、データのバックアップは非常に重要です。個人ユーザーであってもビジネス ユーザーであっても、データを定期的にバックアップすることで、データの損失や損傷のリスクを回避できます。 Linux システムでは、Systemd と Crontab を使用してデータを定期的に自動的にバックアップできます。この記事では、具体的なコード例を使用して、Systemd と Crontab を使用してスケジュールされたバックアップを実装する方法を紹介します。
Systemd は、Linux システム初期化システムおよびマネージャーであり、システム プロセスを管理するためのより高度な方法を提供します。 Systemdのタイマー機能を利用することで、スケジュールされたタスクを実装することができます。 Crontab は、スケジュールに基づいてタスクを実行するためのプログラムです。 Crontab 構成ファイルを編集することで、スケジュールされたバックアップを実装できます。
以下は具体的な手順とコード例です:
たとえば、/data ディレクトリ内のすべてのファイルをバックアップするために、backup.sh という名前のシェル スクリプトを作成します。
#!/bin/bash backup_dir="/path/to/backup/" source_dir="/data/" timestamp=$(date +%Y%m%d%H%M%S) backup_file="${backup_dir}/backup_${timestamp}.tar.gz" tar -czvf ${backup_file} ${source_dir}
このスクリプトは、/data ディレクトリ内のすべてのファイルをバックアップします。ファイルは現在のタイムスタンプが付けられた tar.gz ファイルにパッケージ化され、バックアップ ファイルは指定されたディレクトリに保存されます。
実際のニーズに応じて、バックアップ スクリプト内のパスとファイル名を変更してください。
ターミナルで次のコマンドを実行して、backup.timer という名前の Systemd タイマー ユニット ファイルを作成します。
sudo nano /etc/systemd/system/backup.timer
開いたファイルに次のように入力します。
[Unit] Description=Backup Service Timer [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
ファイルを保存して閉じます。
このタイマーは、1 日に 1 回バックアップ タスクを実行します。スケジュールされたタスクの実行時間をカスタマイズする必要がある場合は、必要に応じて OnCalendar の背後にあるパラメーターを変更してください。
ターミナルで次のコマンドを実行して、backup.service という名前の Systemd サービス ユニット ファイルを作成します:
sudo nano /etc/systemd/system/backup.service
開いたファイルに次のように入力します:
[Unit] Description=Backup Service [Service] ExecStart=/path/to/backup.sh [Install] WantedBy=multi-user.target
ExecStart のパスを実際のバックアップ スクリプトのパスに置き換えてください。
ファイルを保存して閉じます。
ターミナルで次のコマンドを実行して、タイマーとサービスを有効にして開始します。
sudo systemctl daemon-reload sudo systemctl enable backup.timer sudo systemctl start backup.timer
これで、Systemd タイマーが、設定された時間に従ってバックアップ タスクを自動的に実行します。
ターミナルで次のコマンドを実行して、現在のユーザーの Crontab 構成ファイルを編集します:
crontab -e
次の内容をファイルの最後に追加します:
0 0 * * * /path/to/backup.sh
ファイルを保存して閉じます。
この Crontab 構成は、毎日午前 12 時にバックアップ タスクを実行します。必要に応じてバックアップ タスクの実行時間をカスタマイズできます。
これで、Systemd と Crontab を使用して Linux システム内のデータを定期的にバックアップする手順が完了しました。 Systemd タイマーと Crontab のどちらを使用しても、スケジュールされた自動バックアップを実装できます。実際のニーズに応じて適切な方法を選択してください。
この記事がお役に立てば幸いです。データ バックアップ作業の成功を祈っています。
以上がSystemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。