下面的例子演示了如何使用Bash脚本和lftp来删除早于5天的文件,同时递归删除目录和文件:
#!/bin/bash
HOST="ftp.example.com"
USER="username"
PASS="password"
DIR="/remotefolder"
AGE="+5" # files older than 5 days
echo "Connecting to $HOST"
lftp -u $USER,$PASS $HOST << EOF
echo "Deleting files older than $AGE days"
find $DIR -type f -mtime $AGE -exec rm -f {} \;
echo "Deleting empty directories"
find $DIR -type d -empty -delete
EOF
echo "Done"
在这个例子中,我们使用了lftp命令行工具来连接FTP服务器,并使用Bash中的here文档来传递命令。我们使用find命令来查找并删除早于5天的文件,并使用find命令来查找并删除空目录。
请注意,这个脚本可能会删除你不想删除的文件和目录,所以请小心使用。建议在测试之前备份数据。