Linuxは、自動的にデータベースをバックアップし、ファイルのn日前に削除定期的なタスクを使用します

まず、実際の運用環境では、状況を保存することはできません、私たちは主アクティブ準備をバックアップするために、MySQLのマスタデータベースを展開することができ、状況をサーバーがクラッシュし、データの破損を防止するためのデータベース、またはデータベースをバックアップする必要性が発生し、マシンは、我々はMySQLを配備するのに十分なリソースではありませんプライマリマスタ相互支援は、このようなデータベースを手動スケジュールされたバックアップ煩雑な操作を取ることができないとき、我々は、自動バックアップデータベースへのLinuxのcrontabスケジュールされたタスクを使用することができます

1、私たちのニーズを見てみましょう、例えば、今、このようなルートディレクトリmysql_backupフォルダ内のファイルとして指定したディレクトリにライブラリのために自動的にバックアップのmysql MySQLデータベース、バックアップコマンドに毎晩午前1時30名が必要ですそれは、次の

/ usr / binに/ -Uusername -Ppassword mysqldumpをMySQLの> /ルート/ mysql_backup / MySQLの_ $(DATEのY%mを%% + D_%のH%のMの%のS).SQL
"ユーザー名"当社のデータベースのユーザーです

「パスワード」は、このユーザーのパスワードです

データベース「MySQLの」私たちは、データベースにバックアップする必要があるとして、

私たちは毎晩、データベースのバックアップを見ているので、そのバックアップファイルに名前を付ける時に私たちのバックアップ時間をバックアップした後、「MySQLは_ $(日付+%のY%mの%のD_%のHの%のMの%のS).SQL」私は、例えば、ありますデータベースの2019年1月30日午後01時30分のフルバックアップが「mysql_20190130_013000.sql」です。

2、我々のニーズは、長い時間のハードディスクがいっぱいになり、長い意味を保持するために多くのデータが存在しない前に、我々は毎日バックアップすることができ、毎日のファイルを生成し、ビットをバックアップするために毎晩しています同時に、前の期間にバックアップデータを削除して、例えば、私たちは前に30日にバックアップを削除する必要があります

検索/ルート/ mysql_backup / -mtime +30型F | xargsのRM -f
"/ルート/ mysql_backup /"私たちのバックアップファイルを保存するディレクトリ

「-mtime +30は、」前の30日間に設定されています

「型fは」ファイルの種類が探していることを示しています

/ルート/ mysql_backup /ディレクトリファイルの下の30日前に、削除して下さい:アクションのこの行は、コマンドを完成させることです。

3、我々が書かれているコマンドを使用してバックアップを削除し、その後、我々は、システムが自動的にcrontabファイルが毎日両方のタスクを実行するためにさせることができます

タスクスクリプトmysql_autobackup.shを作成し、我々は単にファイルにして最高の権威に2つのコマンドを書かれています

#!/ binに/ bashの
は/ usr / binに/ -Uusername -Ppassword mysqldumpをMySQLの> /ルート/ mysql_backup / MySQLの_ $(DATEのY%mを%% + D_%H%でのMの%のS).SQL
検索/ルート/ mysql_backup / - sdadmin名-mtimeは、型Fを+30 '* SQL *。' | xargsのRM -f
のcrontab -e書かれたプランのタスクと保存

30 01 * * * /root/mysql_autobackup.shは、
ルートディレクトリに13:00毎日30分岐実行mysql_autobackup.shスクリプトを表し、あなたが毎日自動的にデータベースをバックアップするためのシステムを完了できるように、つまり、我々は、削除操作で上記のバックアップスクリプトを記述し、これは、自動的にバックアップの30日以上を探しに行くと、削除させていただきます

二、crontabのフォーマット

1、私たちはスケジュールされたタスクの例を書きます

30 01 * * * /root/mysql_autobackup.sh
この還元フォーマット後は次のとおりです。

* * * * * *
"*"の最初の列は1〜59分です

2番目の列には、「*」0時間23.0に代表12:00 AMからです

1から31までの日のための「*」の第3列

1〜12月の「*」の4列目

日曜日のための0から6,0週間のための第5列「*」

実行するには、「*」コマンドの6列目

一緒に次のような形式であります

実行するコマンドのタイムシェア日月曜日
いくつかの例を与え、2を

30 21 * * *リブート
上記の例では、夜21:30には、サーバーを再起動して示しています。
図45は、4 1,10,22 *再起動
上記の例をサーバ1,10,22 4:45リブートの毎月の数を示す
10の1 * 6,0リブート
上記の例は、毎週土曜日と日曜日の1:10表しますサーバーに再起動
0,30 18-23 * * *リブート
例以上が18:00と午後11時、毎日の間、サーバごとに30分を再起動して表しています。
0 23-7 / 1 * * *リブート
23:00〜7 amの間、毎時間は、サーバーの再起動
 
----------------
免責事項:この記事はCSDNブロガーです「コーヒーとても強い。」元の記事、BY-SAの著作権契約、複製、元のソースのリンクと、この文を添付してくださいCC 4.0に従ってください。
オリジナルリンクします。https://blog.csdn.net/ywd1992/article/details/81219091

おすすめ

転載: www.cnblogs.com/zst062102/p/11683550.html