centos6.5環境經過shell腳本備份php的web及mysql數據庫並作遠程備份容災

centos6.5環境經過shell腳本備份php的web及mysql數據庫並作遠程備份容災


系統:centos6.5


1.建立腳本目錄
mkdir -p /usr/local/sh/
建立備份web文件存放目錄
mkdir -p /data/backup/www/


建立備份db文件存放目錄
mkdir -p /data/backup/db/


受權backup用戶對全部數據庫的操做權限(注意用來備份mysql數據庫)
GRANT ALL PRIVILEGES ON *.* TO 'backup'@'localhost' IDENTIFIED BY 'pass';


2.編輯備份的腳本文件
vim /data/scripts/backup-web-db.sh


#!/bin/bash
#需備份的站點目錄
Website_Dir1=www.chinasoft.com
Website_Dir2=www.yayachinasoft.com


#數據庫備份用戶名密碼
MYSQL_UserName=backup
MYSQL_PassWord=pass
#須要備份的數據名
Backup_Database_Name1=yunva
Backup_Database_Name2=yayasdk


#FTP服務器信息
FTP_HostName=ftp_ip
FTP_UserName=web-backup
FTP_PassWord=pass
FTP_BackupDir=website-db-backup/yayachinasoft-yayachinasoft/


#Values Setting END!


#備份文件名
TodayWWWBackup=*-$(date +"%Y%m%d").tar.gz
TodayDBBackup=*-$(date +"%Y%m%d").sql
OldWWWBackup=*-$(date -d -3day +"%Y%m%d").tar.gz
OldDBBackup=*-$(date -d -3day +"%Y%m%d").sql


#備份站點源碼
tar -zcf /data/backup/www/$Website_Dir1--$(date +"%Y%m%d").tar.gz -C /var/www/web $Website_Dir1
tar -zcf /data/backup/www/$Website_Dir2--$(date +"%Y%m%d").tar.gz -C /var/www/web $Website_Dir2


#備份數據庫
mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name1 > /data/backup/db/$Backup_Database_Name1-$(date +"%Y%m%d").sql
mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name2 > /data/backup/db/$Backup_Database_Name2-$(date +"%Y%m%d").sql


#備份配置文件
#cp /etc/php.ini /tmp/conf/php
#cp -r /etc/ningx/*  /tmp/conf/nginx


#刪除舊的備份文件
rm -f /data/backup/www/$OldWWWBackup
rm -f /data/backup/db/$OldDBBackup


#上傳備份文件夾到FTP服務器
cd /data/backup/


lftp $FTP_HostName -u $FTP_UserName,$FTP_PassWord << EOF
cd /$FTP_BackupDir/www
mrm $OldWWWBackup
mput www/$TodayWWWBackup
cd /$FTP_BackupDir/db/
mrm $OldDBBackup
mput db/$TodayDBBackup
bye
EOF


3.添加腳本執行權限
chmod +x /data/scripts/backup-web-db.sh


4.添加計劃任務:
天天凌晨2點執行備份任務
crontab -e


#backup-web-db
00 02 * * * /bin/bash /data/scripts/backup-web-db.sh >/dev/null 2>&1


重啓生效
systemctl restart crond

公司內部FTP服務;php

調試: 手動測試ftp是否可以鏈接 lftp ftp_ip -u web-backup,pass 手動調試程序是否正常執行: sh -x /data/scripts/backup-web-db.sh FTP_HostName=ftp_ip FTP_UserName=web-backup FTP_PassWord=pass FTP_BackupDir=website-db-backup/yayachinasoft-yayachinasoft/
相關文章
相關標籤/搜索