1. ディスク容量を確認し、バックアップ パスを選択します
df -h
家のスペースは非常に十分です。
2. 新しいバックアップ ディレクトリを作成します。
cd /home
mkdir backup
cd backup
3. バックアップシェルスクリプトを作成します
作成されたファイル XXX にはデータベースの名前を付けることができます。
vi backupXXX.sh
sh ファイルの次の内容を編集します (完全エクスポート): バックアップ ファイルを SQL ファイルとしてエクスポートします。
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
圧縮ファイルとしてエクスポートした場合は、次の内容に編集します。
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
4. ディスク容量には限りがあるため、以前にバックアップしたファイルを削除して、最新のバックアップを保持することができます。
#删除7天之前的备份
find /home/backup -name "eco*.sql.gz" -type f -mtime +7 -exec rm -rf {
} \; > /dev/null 2>&l
#删除5分钟之前的备份
find /home/backup -name "eco*.sql.gz" -type f -mmin +5 -exec rm -rf {
} \; > /dev/null 2>&l
5. 保存して終了します
先Esc键,:wq保存退出编辑
6. 実行可能権限を追加する
chmod u+x backupXXX.sh
7. スクリプトを実行します
./backupXXX.sh
8. 警告が表示される: 多くの資料では、この警告が表示されるとバックアップが失敗すると記載されていますが、失敗はありません。ファイルのバックアップは成功します。 9. スケジュールされた
タスクを追加し
、コマンドを実行します。
crontab -e
エラー プロンプトが表示されない場合は、crontab がインストールされていることを意味します。エラーが報告された場合は、自分でインストールしてください。
スケジュールされたタスクを編集する
*/1 * * * * /home/backup/backupXXX.sh
シェルスクリプトを毎分実行し、ファイルをバックアップします。
10. バックアップ ディレクトリに移動して、新しいバックアップ ファイルが生成されているかどうかを確認したり、
タスク ログを確認したりできます。
tail -f /var/log/cron
最終構成:
mysqldump -uroot -pong!8 ec | gzip > /home/backup/ec_$(date +%Y%m%d_%H%M%S).sql.gz
find /home/backup -name "ec*.sql.gz" -type f -mtime +30 -exec rm -rf {
} \; > /dev/null 2>&1