CentOS Linux自动备份文件到远程FTP服务器并删除指定日期前的备份Shell脚本
#!/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 !
实际使用中
#!/bin/sh
data_bak=/root/bak #备份文件存放路径
data_f3d=/root/f3d #原文件路径
date=$(date +%y%m%d) #日期
days=3 #删除文件日期
tar zcvf ${data_bak}"/"fancy3d${date}".tar.gz" "$data_f3d" #备份打包,并以日期命名
find ${data_bak}"/" -name "fancy3d*" -type f -mtime +$days -exec rm -rf {} \; #遍历路径下fancy3d命名的所有文件并删除“days”时间前创建的文件

浙公网安备 33010602011771号