通过 bash 使用 rm 命令删除 5 天前的文件

Delete a file 5 days old with the rm command via bash

我想删除 .tar.gz 中基于 iso 日期已有 5 天的文件。有点像这样? (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

你可以这样做:

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

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