首先用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" |
另附几个LINUX常用命令: 查看当前路径:pwd VI: 按insert键键入字符,按esc退出编辑,先按:“:”后,再按wq 是保存并退出vi编辑器 |
文章来源:文德数据(www.idcvendor.com)