• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本

      in  云服务器(vps)      Tags: 

    准备工作:

    需要提前在vps安装好lftplftp功能上比较强大,CentOS直接执行:YUM INSTALL lftpdebian执行:APT-GET INSTALL lftp 。

    需要在vps上创建/HOME/BACKUP/ 目录,在ftp上创建BACKUP目录。

    如果vps上数据库不多的话使用GODADDY的免费空间就可以(10GB空间,300GB流量),只要注册个域名就免费送。

    下面将备份脚本进行部分注释:
    #!/BIN/BASH
    #FUNCIONT: BACKUP WEBSITE AND mysql DATABASE
    #AUTHOR: LICESS
    #WEBSITE: HTTPS://vpsVT.COM
    #IMPORTANT!!!PLEASE SETTING THE FOLLOWING VALUES!

    ######~SET DIRECTORY YOU WANT TO BACKUP~######将下面的目录修改成自己要备份的目录,一般按我的都是在/HOME/WWWroot/下面所有直接写了需要备份的目录。可以继续再加:BACKUP_DIR5=你的目录 ,BACKUP_DIR后面的数字依次递增。如果不足4个,直接删除不需要的就可以,同时修改下面TAR ZCF 部分。

    BACKUP_DIR1=VPSER.NET
    BACKUP_DIR2=LNMP.ORG
    BACKUP_DIR3=LICESS.ORG
    BACKUP_DIR4=JUNGEHOST.COM

    ######~SET mysql USERNAME AND PASSWORD~######设置mysql的用户名和密码,最好是root,其他用户可能因为权限问题无法导出部分数据库。
    mysql_USERNAME=root
    MYSQL_PASSWORD=YOURMYSQLrootPASSWORD

    ######~SET MYSQL DATABASE YOU WANT TO BACKUP~######设置要部分的数据库,可以继续再加:BACKUP_DATABASE_NAME5=数据库名,BACKUP_DATABASE_NAME后面的数字依次递增。
    BACKUP_DATABASE_NAME1=VPSER
    BACKUP_DATABASE_NAME2=LICESS
    BACKUP_DATABASE_NAME3=JUNGE
    BACKUP_DATABASE_NAME4=VPSERORG

    ######~SET ftp INFORMATION~######设置用来存放备份数据的ftp信息
    ftp_HOSTNAME=184.168.192.43   //FTP服务器的IP或者域名
    FTP_USERNAME=VPSERNET                //FTP服务器用户名
    FTP_PASSWORD=YOURFTPPASSWORD   //FTP服务器用户对应的密码
    FTP_BACKUPDIR=BACKUP                    //备份到FTP上的目录,需要提前创建好。

    #VALUES SETTING END!

    TODAYWWWBACKUP=WWW-*-$(DATE +"%Y%M%D").TAR.GZ
    TODAYDBBACKUP=DB-*-$(DATE +"%Y%M%D").SQL
    OLDWWWBACKUP=WWW-*-$(DATE -D -3DAY +"%Y%M%D").TAR.GZ
    OLDDBBACKUP=DB-*-$(DATE -D -3DAY +"%Y%M%D").SQL

    TAR ZCF /HOME/BACKUP/WWW-$BACKUP_DIR1-$(DATE +"%Y%M%D").TAR.GZ -C /HOME/WWWROOT/ $BACKUP_DIR1 --EXCLUDE=SOFT
    TAR ZCF /HOME/BACKUP/WWW-$BACKUP_DIR2-$(DATE +"%Y%M%D").TAR.GZ -C /HOME/WWWROOT/ $BACKUP_DIR2
    TAR ZCF /HOME/BACKUP/WWW-$BACKUP_DIR3-$(DATE +"%Y%M%D").TAR.GZ -C /HOME/WWWROOT/ $BACKUP_DIR3 --EXCLUDE=TEST
    TAR ZCF /HOME/BACKUP/WWW-$BACKUP_DIR4-$(DATE +"%Y%M%D").TAR.GZ -C /HOME/WWWROOT/ $BACKUP_DIR4

    ###上面为备份网站文件数据,因为我的网站比较零散,而且网站目录下面有些目录属于临时目录并不需要备份,所以可以在上面加上--EXCLUDE=不备份的目录。如果在前面加了BACKUP_DIR5=YOURDIR,则再加TAR ZCF /HOME/BACKUP/WWW-$BACKUP_DIR5-$(DATE +"%Y%M%D").TAR.GZ -C
    /HOME/WWWROOT/ $BACKUP_DIR5 。如果多余则删除多余行。

    /USR/LOCAL/MYSQL/BIN/Mysqldump -U$MYSQL_USERNAME -P$MYSQL_PASSWORD $BACKUP_DATABASE_NAME1 > /HOME/BACKUP/DB-$BACKUP_DATABASE_NAME1-$(DATE +"%Y%M%D").SQL
    /USR/LOCAL/MYSQL/BIN/Mysqldump -U$MYSQL_USERNAME -P$MYSQL_PASSWORD $BACKUP_DATABASE_NAME2 > /HOME/BACKUP/DB-$BACKUP_DATABASE_NAME2-$(DATE +"%Y%M%D").SQL
    /USR/LOCAL/MYSQL/BIN/Mysqldump -U$MYSQL_USERNAME -P$MYSQL_PASSWORD $BACKUP_DATABASE_NAME3 > /HOME/BACKUP/DB-$BACKUP_DATABASE_NAME3-$(DATE +"%Y%M%D").SQL
    /USR/LOCAL/MYSQL/BIN/Mysqldump -U$MYSQL_USERNAME -P$MYSQL_PASSWORD $BACKUP_DATABASE_NAME4 > /HOME/BACKUP/DB-$BACKUP_DATABASE_NAME4-$(DATE +"%Y%M%D").SQL

    ###上面为备份MYSQL数据库,如果在前面加了BACKUP_DATABASE_NAME5=YOURDATABASENAME,则再加/USR/LOCAL/MYSQL/BIN/MYSQLDUMP -U$MYSQL_USERNAME -P$MYSQL_PASSWORD $BACKUP_DATABASE_NAME5 > /HOME/BACKUP/DB-$BACKUP_DATABASE_NAME5-$(DATE +"%Y%M%D").SQL 。如果多余则删除多余行。

    RM $OLDWWWBACKUP
    RM $OLDDBBACKUP
    ###删除3天前的备份###

    CD /HOME/BACKUP/

    ###下面为自动上传部分,不得不说LFTP很强大,抛弃FTP吧####
    LFTP $FTP_HOSTNAME -U $FTP_USERNAME,$FTP_PASSWORD << EOF
    CD $FTP_BACKUPDIR
    MRM $OLDWWWBACKUP
    MRM $OLDDBBACKUP
    MPUT $TODAYWWWBACKUP
    MPUT $TODAYDBBACKUP
    BYE
    EOF

    脚本下载地址:HTTP://SOFT.VPSER.NET/LNMP/BACKUP.SH

    下载脚本,将脚本放到/ROOT/ 下面,按上面的注释修改脚本中的参数,并保存,如果不熟悉VI或者NANO编辑器,可以用winscp,执行:CHMOD +X /ROOT/BACKUP.SH 为脚本添加执行权限,执行:CRONTAB -E 添加定时执行

    在CRONTAB中加入:0 3 * * * /ROOT/BACKUP.SH

    凌晨3点自动执行/ROOT/BAKCUP.SH 脚本,备份VPS上的数据并上传到FTP上。


    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开