crontab文件位置:/etc/crontab
每天的凌晨3點1分 mysql備份
01 03 * * * root /usr/sbin/bakmysql
每天的凌晨4點1分 複製mysql所有數據庫
01 04 * * * root /usr/sbin/bakmysql_fz
每天的凌晨5點1分 刪除規定時間前備份的文件
01 05 * * * root /usr/sbin/xkedu_del
每週6的凌晨2點1分 應用程序備份
01 02 * * 6 root /usr/sbin/webappsbak
每週6的凌晨6點1分 sh執行腳本將應用程序異地備份
01 06 * * 6 root sh /usr/sbin/webappsbak.sh
每天的凌晨6點30分 sh執行腳本將mysql異地備份
30 06 * * * root sh /usr/sbin/mysqlbak.sh
附上6個腳本文件
bakmysql
- rq=`date +%Y%m%d`
- sudo mysqldump -u root -p密碼 --databases 庫名1 庫名2 > /var/mysqldata/mysql_$rq.sql
- sleep 20
- tar zcvf /var/mysql_backup/mysql_$rq.tar.gz /var/mysqldata/mysql_$rq.sql
- sleep 20
bakmysql_fz
- sudo /etc/init.d/mysql stop
- sleep 20
- sudo /etc/init.d/tomcat6 stop
- sleep 20
- rq=`date +%Y%m%d`
- tar zcvf /var/mysqldata/fz/mysql$rq.tar.gz /var/lib/mysql
- sudo /etc/init.d/tomcat6 start
- sudo /etc/init.d/mysql start
xkedu_del
- DATE=$(date +%Y%m%d)
- aa_DATE=$(date "-d 7 day ago" +%Y%m%d)
- bb_DATE=$(date "-d 10 day ago" +%Y%m%d)
- cc_DATE=$(date "-d 20 day ago" +%Y%m%d)
- sudo rm /var/mysqldata/fz/mysql$aa_DATE.tar.gz
- sudo rm /var/mysqldata/mysql_$bb_DATE.sql
- sudo rm /var/mysql_backup/mysql_$cc_DATE.tar.gz
webappsbak
- rq=`date +%Y%m%d`
- tar zcvf /var/webappsbak/webappsbak$rq.tar.gz /var/lib/tomcat6/webapps
- DATE=$(date +%Y%m%d)
- aa_DATE=$(date "-d 7 day ago" +%Y%m%d)
- bb_DATE=$(date "-d 10 day ago" +%Y%m%d)
- cc_DATE=$(date "-d 20 day ago" +%Y%m%d)
- sudo rm /var/webappsbak/webappsbak_$aa_DATE.tar.gz
- sudo rm /var/webappsbak/webappsbak_$bb_DATE.sql
- sudo rm /var/webappsbak/webappsbak_$cc_DATE.tar.gz
以上4個文件要賦予可執行文件:
- chmod +x /usr/sbin/文件名
webappsbak.sh 腳本文件
- #!/bin/bash
- rq=`date +%Y%m%d`
- HOST=ip地址
- USER=用戶名
- PASSWORD=密碼
- PORT=端口號
- TARGET=/var/webappsbak/webappsbak$rq.tar.gz #需要上傳的文件名及位置
- DEST_DIR=/mnt/ad1/oabak/webappsbak/ #目的地路徑
- echo "Starting to sftp ${TARGET} to ${HOST}"
- lftp -u ${USER},${PASSWORD} -p $PORT sftp://${HOST} <<EOF
- cd ${DEST_DIR}
- put ${TARGET}
- bye
- EOF
mysqlbak.sh
- #!/bin/bash
- rq=`date +%Y%m%d`
- HOST=ip地址
- USER=用戶名
- PASSWORD=密碼
- PORT=端口
- TARGET=/var/mysql_backup/mysql_$rq.tar.gz
- DEST_DIR=/mnt/ad1/oabak/mysqlbak/
- echo "Starting to sftp ${TARGET} to ${HOST}"
- lftp -u ${USER},${PASSWORD} -p $PORT sftp://${HOST} <<EOF
- cd ${DEST_DIR}
- put ${TARGET}
- bye
- EOF