1、创建保存备份文件的目录:/home/wwwrootbak
cd /home
mkdir wwwrootbak
2、创建备份脚本文件:/home/wwwrootbak/wwwrootbak.sh
cd /home
cd wwwrootbak
touch wwwrootbak.sh
vim wwwrootbak.sh
输入以下内容:
#!/bin/sh
BK_DR=/home/wwwrootbak #备份文件存放路径
DB_DR=/home/wwwroot
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
LINUX_USER=root #系统用户名
date
=`
date
+%Y%m%d `
tar zcvf
$BK_DR
/wwwroot
$date
.tar.gz $DB_DR
chown
-R
$LINUX_USER
:
$LINUX_USER
$BK_DR
#更改备份数据库文件的所有者
find
$BK_DR
-name
"wwwroot*"
-type f -mtime +
$DAYS
-
exec
rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)
deldate=`
date
-d -7day +%Y%m%d ` #删除ftp服务器空间7天前的备份
ftp -n< open 192.168.1.1 21 #打开ftp服务器。21为ftp端口
user admin 123456 #用户名、密码
binary #设置二进制传输
cd wwwrootbak #进入ftp目录
lcd /home/wwwrootbak #列出本地目录
prompt
mput wwwroot
$date
.tar.gz wwwroot
$date.tar.gz #上传目录中的文件
mdelete wwwroot
$deldate
.tar.gz wwwroot
$deldate.tar.gz #删除ftp空间7天前的备份
close
bye !
3、修改文件属性,使其可执行
chmod +x /home/wwwrootbak/wwwrootbak.sh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
5 2 * * * root /home/wwwrootbak/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/wwwrootbak目录下面可以看到类似wwwroot20240326tar.gz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩:tar -zxvf wwwroot20240326.tar.gz