Systemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法

WBOY
リリース: 2023-09-27 19:31:41
オリジナル
1566 人が閲覧しました

Systemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法

Systemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法

日々の仕事や生活において、データのバックアップは非常に重要です。個人ユーザーであってもビジネス ユーザーであっても、データを定期的にバックアップすることで、データの損失や損傷のリスクを回避できます。 Linux システムでは、Systemd と Crontab を使用してデータを定期的に自動的にバックアップできます。この記事では、具体的なコード例を使用して、Systemd と Crontab を使用してスケジュールされたバックアップを実装する方法を紹介します。

Systemd は、Linux システム初期化システムおよびマネージャーであり、システム プロセスを管理するためのより高度な方法を提供します。 Systemdのタイマー機能を利用することで、スケジュールされたタスクを実装することができます。 Crontab は、スケジュールに基づいてタスクを実行するためのプログラムです。 Crontab 構成ファイルを編集することで、スケジュールされたバックアップを実装できます。

以下は具体的な手順とコード例です:

  1. バックアップ スクリプトの作成
    まず、データをバックアップするためのスクリプトを作成する必要があります。スクリプトには、シェル スクリプト、Python スクリプトなどの実行可能なスクリプト ファイルを使用できます。スクリプトがデータ バックアップ機能を実装でき、適切な場所に保存できることを確認してください。

たとえば、/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 ファイルにパッケージ化され、バックアップ ファイルは指定されたディレクトリに保存されます。

実際のニーズに応じて、バックアップ スクリプト内のパスとファイル名を変更してください。

  1. Systemd タイマーの作成
    次に、バックアップ スクリプトを定期的に実行するための Systemd タイマー ユニット ファイルを作成する必要があります。

ターミナルで次のコマンドを実行して、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 の背後にあるパラメーターを変更してください。

  1. Systemd サービスの作成
    次に、実行するバックアップ スクリプトを指定する Systemd サービス ユニット ファイルを作成する必要があります。

ターミナルで次のコマンドを実行して、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 のパスを実際のバックアップ スクリプトのパスに置き換えてください。

ファイルを保存して閉じます。

  1. タイマーとサービスを有効にして開始する
    上記の手順を完了したら、タイマーとサービスを有効にして開始する必要があります。

ターミナルで次のコマンドを実行して、タイマーとサービスを有効にして開始します。

sudo systemctl daemon-reload
sudo systemctl enable backup.timer
sudo systemctl start backup.timer
ログイン後にコピー

これで、Systemd タイマーが、設定された時間に従ってバックアップ タスクを自動的に実行します。

  1. Crontab を使用して定期的にバックアップする
    Systemd タイマーの使用に加えて、Crontab を使用してデータを定期的にバックアップすることもできます。

ターミナルで次のコマンドを実行して、現在のユーザーの Crontab 構成ファイルを編集します:

crontab -e
ログイン後にコピー

次の内容をファイルの最後に追加します:

0 0 * * * /path/to/backup.sh
ログイン後にコピー

ファイルを保存して閉じます。

この Crontab 構成は、毎日午前 12 時にバックアップ タスクを実行します。必要に応じてバックアップ タスクの実行時間をカスタマイズできます。

これで、Systemd と Crontab を使用して Linux システム内のデータを定期的にバックアップする手順が完了しました。 Systemd タイマーと Crontab のどちらを使用しても、スケジュールされた自動バックアップを実装できます。実際のニーズに応じて適切な方法を選択してください。

この記事がお役に立てば幸いです。データ バックアップ作業の成功を祈っています。

以上がSystemd と Crontab を使用して Linux システムのデータを定期的にバックアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!