通过 lftp 备份文件及删除过期文件的自动化小脚本
可以看作是这篇文章的升级版本。这里感谢 druggo 留言提醒,让我决定抽时间折腾一下 lftp。
整个过程其实非常简单,照例自己马克一下。
安装 lftp 客户端:
yum -y install lftp
安装后使用过程中遇到报错:
Fatal Error: Certificate Verification: Not Trusted
原因是远端 FTP 服务器使用了自签发 SSL 证书,可以这样解决:
vim /etc/lftp.conf
在文件最后增加一行:
set ssl:verify-certificate no
改造后的脚本:
#!/bin/bash
date=`date +%Y%m%d`
deldate=`date -d -{NUMBER}day +%Y%m%d`
lftp ftp://{FTP_USER}:{FTP_PASSWD}@{HOST}:{PORT} <<!
cd /
lcd /data/backup
mrm *$deldate*
mput *$date*
exit
!
当然 lftp 还有一个更好用的指令:mirror。这里不用的原因是本地存储的时间与远端不一致。
依然是 3 点注意事项:
1、脚本中花括号内容替换为对应的变量;
2、cd 是远程的目录,lcd 是本地目录;
3、备份文件名需符合 date +%Y%m%d 这样的规则。