<fieldset id='s6cq6'></fieldset>

  1. <dl id='s6cq6'></dl>
    <i id='s6cq6'></i>
  2. <i id='s6cq6'><div id='s6cq6'><ins id='s6cq6'></ins></div></i>

    1. <ins id='s6cq6'></ins>

      1. <tr id='s6cq6'><strong id='s6cq6'></strong><small id='s6cq6'></small><button id='s6cq6'></button><li id='s6cq6'><noscript id='s6cq6'><big id='s6cq6'></big><dt id='s6cq6'></dt></noscript></li></tr><ol id='s6cq6'><table id='s6cq6'><blockquote id='s6cq6'><tbody id='s6cq6'></tbody></blockquote></table></ol><u id='s6cq6'></u><kbd id='s6cq6'><kbd id='s6cq6'></kbd></kbd>
        1. <span id='s6cq6'></span>

          <code id='s6cq6'><strong id='s6cq6'></strong></code>
          <acronym id='s6cq6'><em id='s6cq6'></em><td id='s6cq6'><div id='s6cq6'></div></td></acronym><address id='s6cq6'><big id='s6cq6'><big id='s6cq6'></big><legend id='s6cq6'></legend></big></address>

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

          • 时间:
          • 浏览:5
          • 来源:124软件资讯网
            准备事情:

            需要提前在VPS安装好lftp  ,lftp功效上比力强盛  ,CentOS直接执行:yum install lftp ,Debian执行:apt-get install lftp  。

            需要在VPS上建立/home/backup/ 目录  ,在FTP上建立backup目录  。

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

            下面将备份剧本举行部门注释:
            . 代码如下:
            #!/bin/bash
            #Funciont: Backup website and mysql database
            #Author: licess
            #Website: http://lnmp.org
            #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

            上文大部门都是以代码的形式体现出来  ,对于初学者可能比力难明白  ,一看到就懵啦  ,照旧认真学习就一定能够有收获  ,希望上文中讲到的内容对各人能够有所资助  。