• +86 400-9955-698
  • support@vinchin.com
logo
关于我们

技术分享

技术分享 UbuntuServer的mysql和webapps全自动异地备份

UbuntuServer的mysql和webapps全自动异地备份

2021-06-09

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

 

  • 标签:
  • 技术分享

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载