Contents
1.Webサイトデータバックアップ
1-1./var/www/html配下のバックアップ
①バックアップスクリプトファイルの作成
[root@Lepard ~]# cd /opt opt]# vi backup_html.sh |
#!/bin/bash TODAY=`/bin/date +%Y%m%d` HTML_DIR=”/var/www/html” BACKUP_DIR=”/var/www/backup/html_bak” /bin/mkdir -p ${BACKUP_DIR} /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 ]; /bin/rm -f ${RUN_FLAG} |
➁権限許可
[root@Lepard ~]# cd /opt opt]# chmod 700 backup_html.sh |
➂保存ディレクトリー作成
[root@Lepard ~]# mkdir -p /var/www/backup/html_bak [root@Lepard ~]# chmod 777 /var/www/backup/html_bak |
④定期実行
cronに設定を追加し、定期的にバックアップ
[root@Lepard ~]# crontab -e 0 6 * * * /opt/backup_html.sh > /dev/null 2>&1 ←毎日午前6時にバックアップ実行 |
2.MySQLデータベースバックアップ
①バックアップスクリプトファイルの作成
[root@Lepard ~]# cd /opt [root@Lepard ~]# vi db_my_backup.sh |
#!/bin/bash export LANG=ja_JP.eucJP MYUSER=”root” #MySQL接続ユーザー名 TIME_STRING=`/bin/date ‘+%Y%m%d’` DB_BAK_DIR=”/var/www/backup/db_bak” MYSQL_BACKUP_FILE=${DB_BAK_DIR}/mysql_backup_”${TIME_STRING}”.dump /bin/mkdir -p ${DB_BAK_DIR} mysqldump -u${MYUSER} -p${MYPASS} –all-databases > ${MYSQL_BACKUP_FILE} if [ -f ${DB_BAK_DIR}/${MT_DB}”${DAY_AGO}”.dump.gz ]; if [ -f ${DB_BAK_DIR}/${XOOPS_DB}”${DAY_AGO}”.dump.gz ]; if [ -f ${DB_BAK_DIR}/${GEEKLOG_DB}”${DAY_AGO}”.dump.gz ]; /bin/rm -f ${RUN_FLAG} |
➁権限許可
[root@Lepard ~]# cd /opt opt]# chmod 700 db_my_backup.sh |
➂保存ディレクトリー作成
[root@Lepard ~]# mkdir -p /var/www/backup/db_bak [root@Lepard ~]# chmod 777 /var/www/backup/db_bak |
④定期実行
cronに設定を追加し、定期的にバックアップ
[root@Lepard ~]# crontab -e 0 7 * * * /opt/db_my_backup.sh > /dev/null 2>&1 ←毎日午前7時にバックアップ実行 |
3.html配下のバックアップファイルの復元
① HTML バックアップファイルを「/(ルート)」ディレクトリへ格納
[root@Lepard ~]# cd /var/www/backup/html_bak html_bak]# cp html_back_20211010.tar.gz / ←最新の日付のバックアップファイルを指定 |
➁ファイルを展開
html_bak]# cd / [root@Lepard /]# tar zxvf html_back_20211010.tar.gz |
4.Mysqlバックアップファイルの復元
①DB バックアップファイルを任意のディレクトリに保存し、
(例では「/var/www/backup/db_bak」ディレクトリです)データを解凍
[root@Lepard ~]# cd /var/www/backup/db_bak db_bak]# gzip -d mysql_backup_20211010.dump.gz ←最新の日付のバックアップファイルを指定 |
➁MySQL をリストア
db_bak]# mysql -u root -p < mysql_backup_20211010.dump Enter password: ←MySQL 用のルートパスワード |