Web構成ファイル(html配下)バックアップ
①html配下バックアップスクリプトファイルの作成
1 2 |
# cd /var/www/system/ # vi html_backup.sh |
html_backup.shの内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/bin/bash #日付処理関連(10日分保存) TODAY=`/bin/date +%Y%m%d` DAY_AGO=`/bin/date --date '10day ago' +%Y%m%d` #バックアップ元関連 HTML_DIR="/var/www/html" #出力ファイル関連 BACKUP_DIR="/var/www/backup/html_bak" RUN_FLAG="/var/www/backup/html_bak/html_flag" /bin/mkdir -p ${BACKUP_DIR} /bin/touch ${RUN_FLAG} /bin/tar vfcz ${BACKUP_DIR}/html_back_${TODAY}.tar.gz ${HTML_DIR} /bin/chmod 644 ${BACKUP_DIR}/html_back_${TODAY}.tar.gz if [ -f ${BACKUP_DIR}/html_back_${DAY_AGO}.tar.gz ]; then /bin/rm -f ${BACKUP_DIR}/html_back_${DAY_AGO}.tar.gz fi /bin/rm -f ${RUN_FLAG} |
バックアップ保存ディレクトリー作成と権限付与
1 2 3 4 |
# cd /var/www/system/ # mkdir -p /var/www/backup/html_bak # chmod 777 /var/www/backup/html_bak # chmod 700 html_backup.sh |
②バックアップ処理を実行
1 |
# /var/www/system/html_backup.sh |
③cron に設定を追加し、定期的にバックアップ
1 2 |
# crontab -e 0 3 * * * /var/www/system/html_backup.sh > /dev/null 2>&1 |
MySQLデータベースバックアップ
①バックアップスクリプトファイルの作成
1 2 |
# cd /var/www/system # vi db_my_backup.sh |
db_my_backup.shの内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#!/bin/bash #MYSQL接続設定 MYUSER="root" #MySQL接続ユーザー名 MYPASS="<rootパスワード>" #MySQL接続パスワード #日付処理関連 TIME_STRING=`/bin/date '+%Y%m%d'` DAY_AGO=`/bin/date --date '10day ago' +%Y%m%d` #出力ファイル関連 DB_BAK_DIR="/var/www/backup/db_bak" #バックアップファイル出力先 RUN_FLAG="${DB_BAK_DIR}/db_my_flag" MYSQL_BACKUP_FILE=${DB_BAK_DIR}/mysql_backup_"${TIME_STRING}".dump /bin/mkdir -p ${DB_BAK_DIR} /bin/touch ${RUN_FLAG} mysqldump -u${MYUSER} -p${MYPASS} --all-databases > ${MYSQL_BACKUP_FILE} /bin/gzip ${MYSQL_BACKUP_FILE} if [ -f ${DB_BAK_DIR}/${MT_DB}"${DAY_AGO}".dump.gz ]; then /bin/rm -f ${DB_BAK_DIR}/${MT_DB}"${DAY_AGO}".dump.gz fi if [ -f ${DB_BAK_DIR}/${XOOPS_DB}"${DAY_AGO}".dump.gz ]; then /bin/rm -f ${DB_BAK_DIR}/${XOOPS_DB}"${DAY_AGO}".dump.gz fi if [ -f ${DB_BAK_DIR}/${GEEKLOG_DB}"${DAY_AGO}".dump.gz ]; then /bin/rm -f ${DB_BAK_DIR}/${GEEKLOG_DB}"${DAY_AGO}".dump.gz fi /bin/rm -f ${RUN_FLAG} |
バックアップ保存ディレクトリー作成と権限付与
1 2 3 |
# chmod 700 db_my_backup.sh # mkdir -p /var/www/backup/db_bak # chmod 777 /var/www/backup/db_bak |
②バックアップ処理を実行
1 |
# /var/www/system/db_my_backup.sh |
③cron に設定を追加し、定期的にバックアップ
1 2 |
# crontab -e 0 7 * * * /var/www/system/db_my_backup.sh > /dev/null 2>&1 |
Web構成ファイル(html配下)復元
① リストアに使用するHTML バックアップファイルをサーバーの「/(ルート)」ディレクトリへ格納 する
1 2 |
# cd /var/www/backup/html_bak # cp html_back_<タイムスタンプ>.tar.gz / |
1 2 |
# cd / # tar zxvf html_back_<タイムスタンプ>.tar.gz |
MySQL のデータを復元する
① データベースバックアップファイルを任意のディレクトリに保存
1 2 |
# cd /var/www/backup/db_bak # gzip -d mysql_backup_<タイムスタンプ>.dump.gz |
② MySQL をリストア
1 2 |
# mysql -u root -p < mysql_backup_<タイムスタンプ>.dump Enter password: ←MySQL 用のrootパスワードを入力 |