1、需要备份的目录:
/home/admin/xiaoshiblog
2、创建保存备份文件的目录:
mkdir /home/admin/xiaoshiblogbak
chown admin:admin /home/admin/xiaoshiblogbak
#admin是你的FTP用户组,根据实际情况而定
3、创建备份脚本文件:
/home/admin/xiaoshiblogbak/wwwrootbak.sh
vi wwwrootbak.sh
输入以下内容:
#!/bin/sh BK_DR=home/admin/xiaoshiblogbak #备份文件存放路径 DB_DR=home/admin/xiaoshiblog #你需要备份的目录 DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份 LINUX_USER=root #系统用户名 date=` date +%Y%m%d ` #以日期命名的变量,记着有单引号 tar zcvf wwwroot$date.tar.gz $DB_DR #打包需要备份的目录,并命名 chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份存放目录所有文件的的所有者为root find $BK_DR -name "wwwroot*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格) deldate=` date -d -7day +%Y%m%d ` #删除ftp服务器空间7天前的备份 ftp -n< open 10.102.51.111 21<<END #打开ftp服务器。21为ftp端口 user xiaoshi xiaoshi123 #FTP的账号、密码 binary #设置二进制传输 cd xiaoshiblogbak #进入远程ftp根目录的xiaoshibak lcd /home/admin/xiaoshiblogbak #列出本地目录 prompt mput wwwroot$date.tar.gz #上传目录中的文件 mdelete wwwroot$deldate.tar.gz #删除ftp空间7天前的备份 close bye !
3、修改文件属性,使其可执行
chmod +x /home/admin/xiaoshiblogbak/wwwroot.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
5 2 * * * root /home/admin/xiaoshiblogbak/wwwrootbak.sh
表示每天凌晨2点5分执行备份
5、重新启动crond使设置生效
/etc/rc.d/init.d/crond restart
yum install -y vixie-cron
#安装计划任务,某些系统上可能没有预装
chkconfig crond on
#设为开机启动
service crond start
#启动
每天你在/home/admin/xiaoshiblogbak/目录下面可以看到类似wwwroot20120913.tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩:tar -zxvf wwwroot20120913.tar.gz