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
转载于:https://blog.51cto.com/myworkrecord/631800