WordPressのデータベースを毎日自動でバックアップするshファイルをネットで検索した方法を元にzipで固めて保存するように書いてみました。
#!/bin/sh # バックアップファイルを残す日数を指定します period=7 # バックアップファイルを保存するディレクトリ dirpath='/hogehoge_backup_directory_name' # ファイル名で日付がわかるようにしておきます filename=`date +%y%m%d` # mysqldump実行 mysqldump --opt --password=YourSQLDBpassword wordpress_db > $dirpath/$filename.sql # パーミッション変更 chmod 700 $dirpath/$filename.sql # 古いバックアップファイルを削除 oldfile=`date --date "$period days ago" +%y%m%d` oldzip=`date --date "$period days ago" +%y%m%d`sql rm -f $dirpath/$oldfile.sql rm -f $dirpath/$oldzip.zip # ZIP ファイルを作成します zip $dirpath/`date +%y%m%d`sql.zip $dirpath/`date +%y%m%d`.sql
私は保存するディレクトリをWebDAVのフォルダにして、クライアントからサクサク取れるようにしておきました。
このshファイル(例:ファイル名 hogehoge.sh)を保存後、実行可能なファイルにするためにパーミッションを変更します。
# chmod +x hogehoge.sh
毎日朝5時にバックアップしますので、cronに登録します。
# crontab -e
crontabに書く内容です。
0 5 * * * /shファイルを置くディレクトリ/hogehoge.sh
これで毎朝5時に7日分のバックアップファイルが出来上がりますので、WindowsやOSXなクライアントにWebDAV経由で持ってきておけばイザという時も安心です。