2

我想根据iso日期删除5天前的.tar.gz。有点像这样?(iso 日期 - 5 天 = 要删除.tar.gz 的文件)

我这样做的原因是 FIND 命令在 lftp 中不起作用,我需要这种类型的方程才能使用 rm 命令。谢谢 :)

TODAY=$(date --iso) # Today's date like YYYY-MM-DD

FILE="/home/$TODAY.tar.gz"

tar -zcf $TODAY.tar.gz /home/minecraft

$LFTP << EOF
open ${USERNAME}:${PASSWORD}@${SERVER}
set ssl:verify-certificate no
put $FILE $TODAY.tar.gz
cd ..
rm -rf ${what should I put here??}
bye
4

1 回答 1

2

你可以这样做:

TODAY=$(date --iso)
FILE="/home/$TODAY.tar.gz"
TODELETE=$(date --iso --date="5 days ago")
FILETODELETE="/home/$TODELETE.tar.gz"
...
rm -f $FILETODELETE

如果可以的话,更好的方法是在服务器上配置 logrotate 为您完成工作。

于 2015-04-23T14:00:20.743 回答