您的位置:首页 > 大数据 > 人工智能

cPanel自动备份的脚本

2011-10-31 15:35 176 查看
首先用SSH连接服务器,新建一个目录backup,最好不要在网页目录下,一是防止被下载脚本或者备份文件。而是不会被不小心备份进去。

切换到backup目录,打开vi编辑器,输入下面的脚本:

 01.cd /home/yourfolder/backup #切换到备份目录 

 02.sx=$(date +%y%m%d) #获取当前日期 

 03.mysqldump -u用户名 -p密码 --all-databases > db_backup_$sx.sql #导出数据库 

 04.bzip2 -z -9 -f db_backup_$sx.sql #压缩数据库 

 05.tar -jcvf /home/yourfolder/backup/web_backup_$sx.tar.bz2 /home/yourfolder/public_html #压缩网站目录  

 06.tar -jcv -f full_$sx.tar.bz2 web_backup_$sx.tar.bz2 db_backup_$sx.tar.bz  #合并压缩数据库和网站目录 

 07.ftp -vn ftpserver << autoftp 

 08.user username password  

 09.cd /temp 

 10.type binary 

 11.put full_$sx.tar.bz2 full_$sx.tar.bz2 

 12.close 

 13.quit  

 14.autoftp  

  15.rm db_backup_$sx.tar.bz web_backup.tar.bz2 full_$sx.tar.bz2   #移除临时文件      

 以上代码需要注意的地方:



1、输入数据库用户名和密码的地方不需要空格,输入的是Cpanel的用户名和密码,--all-databases的意思是备份所有数据库,如果备份单个数据库就输入相应的数据库用户名和密码,--all-databases改成数据库的名字。

2、ftp处,cd /temp 是FTP服务器自己建立的备份目录,如果备份到根目录删除此目录即可。

输入完毕后,输入“:”“wq”保存退出,到cpanel里的cron job加入定时任务:

/home/yourfolder/backup/backup.sh

  

这样既可定时的备份整个虚拟机的文件了。另外也有网友想问,如果备份到邮件,其实只要把上面ftp那段去掉,换成:

mutt youremailadress -a 备份文件名 -s "Database Backup" 
就可以了。需要注意的是,邮件发送受邮件服务器附件大小制约,比如Gmail的附件最大10M,超过10M的备份文件就不能成功发送了。如果只备份数据库的话是可以考虑的。



另附几个LINUX常用命令:

查看当前路径:pwd

VI: 按insert键键入字符,按esc退出编辑,先按:“:”后,再按wq 是保存并退出vi编辑器
文章来源:文德数据(www.idcvendor.com)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息