mysql をバックアップするには、mysqldump の使用を検討します。ただし、mysqldump は実行中にテーブルをロックすることに注意してください。データベースにかなりの量のデータがある場合、このプロセスにはかなりの時間がかかる可能性があります。
データベースを長期間ロックする余裕がない場合は、ミラーを作成し、そのミラーでバックアップ スクリプトを実行します。(詳細な手順については、こちらを参照してください: http://www.howtoforge.com/mysql_database_replication )
データベースをバックアップするには、次のようにします。
BACKUPDATE=$(date +"%Y%m%d")
BACKUPDIR='/mnt/backup'
BACKUPUSER='bkpUser'
BACKUPPASS='bkpPassword'
mkdir -p $BACKUPDIR/$BACKUPDATE/databases/
for DATABASE in $(mysql -u$BACKUPUSER -pBACKUPPASS -e "show databases" | grep -v Database | grep -v information_schema)
do
mysqldump -u$BACKUPUSER -pBACKUPPASS $DATABASE > $BACKUPDIR/$BACKUPDATE/databases/$DATABASE.sql
done
これにより、毎日新しいフォルダーが作成され、すべてのデータベースがそこにダンプされます。
public_html フォルダーの場合、次のようなものです
tar czvf $BACKUPDIR/$BACKUPDATE/public_html.tar.gz $(find /home/ -type d -name public_html)
少しエラーチェックを追加すると、これでうまくいくはずです。
バックアップについて最後に一言。最後のバックアップ ファイル以外のファイルを保持することを強くお勧めします。すべてのものを 1 週間保持し、1 か月に 1 つずつ保持するようなものは、私にはかなり良いと思います。