• <tr id='bt2su'><strong id='bt2su'></strong><small id='bt2su'></small><button id='bt2su'></button><li id='bt2su'><noscript id='bt2su'><big id='bt2su'></big><dt id='bt2su'></dt></noscript></li></tr><ol id='bt2su'><table id='bt2su'><blockquote id='bt2su'><tbody id='bt2su'></tbody></blockquote></table></ol><u id='bt2su'></u><kbd id='bt2su'><kbd id='bt2su'></kbd></kbd>

  • <ins id='bt2su'></ins>

    1. <fieldset id='bt2su'></fieldset>
        <dl id='bt2su'></dl>

          <code id='bt2su'><strong id='bt2su'></strong></code>

          <i id='bt2su'><div id='bt2su'><ins id='bt2su'></ins></div></i>
          <span id='bt2su'></span>
          <i id='bt2su'></i>

            <acronym id='bt2su'><em id='bt2su'></em><td id='bt2su'><div id='bt2su'></div></td></acronym><address id='bt2su'><big id='bt2su'><big id='bt2su'></big><legend id='bt2su'></legend></big></address>

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

            • 时间:
            • 浏览:11
            • 来源: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

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