この場合、強力なプログラムやシステム全体を使用してデータをバックアップすることはありません。最も手頃な価格に制限します。 つまり-Bashスクリプト。
スクリプトは何を実行する必要がありますか?
Webプロジェクトのバックアップ、つまり:
-MySQLデータベースのバックアップコピーを作成します。
-ファイルをバックアップします。
-それを構造化する。
そして、ここにスクリプトがあります:
#!/bin/bash
PROJNAME= #
CHARSET= # (utf8)
DBNAME= #
DBFILENAME= #
ARFILENAME= #
HOST= # MySQL
USER= #
PASSWD= #
DATADIR= #
SRCFILES= #
PREFIX=`date +%F` #
#start backup
echo "[--------------------------------[`date +%F--%H-%M`]--------------------------------]"
echo "[----------][`date +%F--%H-%M`] Run the backup script..."
mkdir $DATADIR/$PREFIX 2> /dev/null
echo "[++--------][`date +%F--%H-%M`] Generate a database backup..."
#MySQL dump
mysqldump --user=$USER --host=$HOST --password=$PASSWD --default-character-set=$CHARSET $DBNAME > $DATADIR/$PREFIX/$DBFILENAME-`date +%F--%H-%M`.sql
if [[ $? -gt 0 ]];then
echo "[++--------][`date +%F--%H-%M`] Aborted. Generate database backup failed."
exit 1
fi
echo "[++++------][`date +%F--%H-%M`] Backup database [$DBNAME] - successfull."
echo "[++++++----][`date +%F--%H-%M`] Copy the source code project [$PROJNAME]..."
#Src dump
tar -czpf $DATADIR/$PREFIX/$ARFILENAME-`date +%F--%H-%M`.tar.gz $SRCFILES 2> /dev/null
if [[ $? -gt 0 ]];then
echo "[++++++----][`date +%F--%H-%M`] Aborted. Copying the source code failed."
exit 1
fi
echo "[++++++++--][`date +%F--%H-%M`] Copy the source code project [$PROJNAME] successfull."
echo "[+++++++++-][`date +%F--%H-%M`] Stat datadir space (USED): `du -h $DATADIR | tail -n1`"
echo "[+++++++++-][`date +%F--%H-%M`] Free HDD space: `df -h /home|tail -n1|awk '{print $4}'`"
echo "[++++++++++][`date +%F--%H-%M`] All operations completed successfully!"
exit 0
いくつかの方法で開始できます。
-簡単な起動:./backup.sh
-起動+ロギング:./backup.sh | tee backup.log
-また、cronにプッシュすることもできます:00 20 * * 7 root sh /home/bond/backup.sh | tee /home/bond/backup/backup.log
スクリプトが正常に完了すると、次のように表示されます。
bond@serv:~$ sudo sh backup.sh
[--------------------------------[2009-02-14--12-28]--------------------------------]
[----------][2009-02-14--12-28] Run the backup script...
[++--------][2009-02-14--12-28] Generate a database backup...
[++++------][2009-02-14--12-29] Backup database [images] - successfull.
[++++++----][2009-02-14--12-29] Copy the source code project [itmages]...
[++++++++--][2009-02-14--12-29] Copy the source code project [itmages] - successfull.
[+++++++++-][2009-02-14--12-29] Stat datadir space (USED): 1,3G /home/bond/backup
[+++++++++-][2009-02-14--12-29] Free HDD space: 49G
[++++++++++][2009-02-14--12-29] All operations completed successfully!
bond@serv:~$
その結果、バックアップは指定したディレクトリに追加され、バックアップは日付で指定されたディレクトリに追加されます。
PS 書いているときのヒントをありがとうopkdx。