systemd タイマーを使用したデータベースのバックアップ

主要なLinuxディストリビューションは、System V の起動方法を置き換えるために systemd に切り替わっており、systemd タイマーは crontab スケジュールされたタスクのほとんどの機能を置き換えることができます。この記事では、systemd タイマーを使用してデータベース バックアップを実装する方法を紹介します。他の種類のスケジュールされたタスクも同じ方法で実装できます。

systemd タイマーによるデータベースのバックアップ systemd タイマーによるデータベースのバックアップ

タイマーファイルを定義する

ディレクトリ /usr/lib/systemd/system に入り、次のファイルに従ってタイマーを作成します。

[ユニット]
説明=DB バックアップを 1 時間ごとに実行します

[タイマー]
# 起動後、初めて実行するまでの待機時間
OnBootSec=10分
# 連続する各実行間の時間
OnUnitActiveSec=1h
ユニット=db_backup.service

[インストール]
WantedBy=マルチユーザー.ターゲット

サービスファイルを定義する

/usr/lib/systemd/system ディレクトリに入り、次のファイルに従ってサービスを作成します。

[ユニット]
説明=バックアップデータベース

[サービス]
タイプ=シンプル
ExecStart=/usr/local/bin/db_backup

データベースバックアップスクリプトを作成する

ファイル /usr/local/bin/db_backup を作成し、次のようなデータベース バックアップ ステートメントを書き込みます。

#!/usr/bin/bash
/usr/bin/mysqldump -umy_username -pmy_password -h192.168.1.xx --databases my_database > /path/to/backup/dir/my_database.`date +'%Y%m%d%H%'`.sql

タイマーを有効にして実行する

コマンドラインで次のコマンドを実行します。

systemctl で db_backup.timer を有効にする
systemctl start db_backup.timer

スケジュールされたタスクが実行されると、データベース バックアップ ファイルがデータベース バックアップ ディレクトリに生成されます。

 

おすすめ

転載: blog.csdn.net/yaxuan88521/article/details/131993468
おすすめ