MySQLのデータをn日分バックアップするシェルスクリプト
Cronで1日1回実行すればOK
#!/bin/sh # バックアップファイルを何日分残しておくか PERIOD=7 # バックアップファイルを保存するディレクトリ DIRPATH='/path/to/dir/mysql' # ファイル名定義 FILENAME="mysqldump"`date +%Y%m%d` # mysqldump実行 mysqldump --opt -Q -c --host=host -u username -ppassword database > $DIRPATH/$FILENAME.sql # パーミッション変更 chmod 700 $DIRPATH/$FILENAME.sql # 古いバックアップファイルを削除 OLDFILE=`date --date "$PERIOD days ago" +%y%m%d` rm -f $DIRPATH/$OLDFILE.sql