在CentOS上,可以使用vsftpd作为FTP服务器,并通过配置和脚本来实现自动删除过期文件。以下是具体步骤:
首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf,确保以下配置项存在并正确设置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
创建一个脚本来定期删除过期文件。例如,创建一个名为 delete_expired_files.sh 的脚本:
#!/bin/bash
# 设置FTP用户的主目录
USER_HOME="/home/ftpuser"
# 设置过期时间(例如,30天)
EXPIRATION_DAYS=30
# 查找并删除过期文件
find "$USER_HOME" -type f -mtime +$EXPIRATION_DAYS -exec rm -f {} \;
确保脚本有执行权限:
chmod +x delete_expired_files.sh
使用 cron 来定期运行这个脚本。编辑当前用户的 crontab 文件:
crontab -e
添加以下行来每天凌晨2点运行脚本:
0 2 * * * /path/to/delete_expired_files.sh
保存并退出编辑器。
确保FTP服务器正在运行,并且你有权限访问FTP用户的主目录。然后,等待定时任务触发,检查过期文件是否被删除。
通过以上步骤,你可以在CentOS上使用vsftpd实现自动删除过期文件的功能。