有在”如何备份VPS主机上的网站及数据库 – 手工备份篇”文章中分享到,如果在Linux VPS/服务器环境中,网站较小或者数据更新不是太大的话,我们尽量的还是选择手工定期的备份比较好,其实花点时间备份网站文件和数据库也不要花费多少时间。一般的网页文件我们一般都采用的数据库模式,网页的变动比较小,基本上是数据库的变动,所以在备份数据库的时候,可以采用导出MYSQL以及打包DATA文件备份,这样确保数据库备份的完整性。
如果有必要的话,我们可以在本地或者其他机器上进行同步的更新,这样即便在主站VPS出现问题的时候,我们也可以临时的解析到备用服务器中解决网站不能访问的问题。
如果,我们的网站比较多,或者希望定时的自动备份,我们可以利用这篇文章提供的脚本进行自动的备份网站文件和数据库,然后自动FTP上传到主机存储空间中。我们可以购买便宜的虚拟主机,比如年付Godaddy经济主机12美元(GoDaddy经济主机(Economy)年付$12且赠送1个域名开通方法),可以获得一个免费域名的同时虚拟主机不需要建站的时候可以用来备份VPS数据。
第一、安装lftp环境
因为我们在上传FTP文件的时候需要用到lftp环境,不能确保所有的系统中都有已经安装,所以我们最好先重新安装。
#CentOS yum install lftp
#Debian apt-get install lftp
第二、创建备份目录
/home/backup/
我们需要在VPS中创建备份目录,因为在执行备份的时候,是需要先备份到VPS本地,然后再从本地上传到远端FTP空间中。这个地址我们需要跟下面的脚本设置一致。
第三、准备自动备份脚本
我们可以把上面的脚本下载到本地/VPS中,然后进行修改配置。下面把主要的设置参数进行解释。
######~设置需要备份的网站目录文件夹~######
Backup_Dir1=itbulu.com
Backup_Dir2=laojiang.me
Backup_Dir3=laobuluo.com
Backup_Dir4=website4.com######~设置数据库链接~######
MYSQL_UserName=root
MYSQL_PassWord=yourrootpassword######~设置需要备份的数据库名~######
Backup_Database_Name1=itbulu
Backup_Database_Name2=laojiang
Backup_Database_Name3=laobuluo
Backup_Database_Name4=website4######~上传的FTP空间信息~######
FTP_HostName=198.38.34.12
FTP_UserName=itbulucom
FTP_PassWord=yourftppassword
FTP_BackupDir=backup //备份到FTP的目录,这个需要提前建好目录#Values Setting END!
我们只要先将上面的BACKUP.SH文件进行修改成自己需要备份的网站和数据库链接信息。
将脚本上传到ROOT目录下。
第四、设置脚本权限和定时备份
我们上传到VPS主机的ROOT目录中,然后设置权限
chmod +x /root/backup.sh
打开crontab -e
0 3 * * * /root/backup.sh
添加上面的定时脚本,每天凌晨3点进行执行备份。我们可以先执行脚本看看是否可以正常进行,如果可以正常进行在设置定时。如果我们的网站数据不大,更新频率不是太多,我们手工备份也可以,没有必要每天的都备份。