指定したDBをmysqldumpで日時バックアップして15日たったら削除するシェルとクーロン
こぴぺでおけ
#!/bin/sh
# バックアップファイルのパーミッション設定。他のユーザからバックアップを読み込めないようにする
umask 077# バックアップファイルを何日分残しておくか(15日分)
period=15
# バックアップファイルを保存するディレクトリ
dirpath='/var/www/backup/mysql'# ファイル名を定義(※ファイル名で日付がわかるようにしておきます)
filename=`date +%y%m%d`# mysqldump実行(ファイルサイズ圧縮の為gzで圧縮しておきます。)
mysqldump --opt --single-transaction --events --default-character-set=utf8 -u ユーザ名 -p DB名 --password=ぱすわーど | gzip > $dirpath/$filename.sql.gz# 古いバックアップファイルを削除
oldfile=`date --date "$period days ago" +%y%m%d`
rm -f $dirpath/$oldfile.sql.gz
/etc/crontab
0 1 * * * root /var/www/backup/backupmysql.sh
便利便利