MySQLとWebディレクトリのバックアップをとるシェルスクリプトです。
MySQLの全データベースをダンプしながら圧縮、Webディレクトリも圧縮し、同サーバ内のディレクトリに保存します。
ファイル名は、ローテーションするために必要なのでそのままにしてください。
#!/bin/sh # 何日分保存するか day=3 # バックアップディレクトリ bkdir=/home/backup # ファイル名 filename=`date '+%Y%m%d'` # webディレクトリ webdir=/home/www # MySQLユーザ名 dbuser=xxx # MySQLパスワード dbpasswd=xxx mysqldump -A -u$dbuser -p$dbpasswd --opt | gzip > $bkdir/$filename.mysql.sql.gz tar cvfz $bkdir/$filename.www.tar.gz $webdir # 古いバックアップを削除 oldfile=`date -d "$day days ago" '+%Y%m%d'` rm -f $bkdir/$oldfile.*
同一サーバー内に保存簡易的なものなので、サーバーがクラッシュしたりするとヘブン状態です。rsyncなんかで別サーバに転送するとなお良いと思います。