Bash脚本-删除旧文件

时间:2020-10-02 07:38:05

标签: linux bash shell scripting debian

我有一个脚本将压缩文件上传到ftp,这是我在下面显示的代码。

此代码可以正常工作,但是我想对其进行修改,以便文件上传后,它会删除一周以上的 ftp文件

request_errors = self.make_request(settings.DOCUMENT_GENERATOR_URL, data)  # type: Optional[Dict]

2 个答案:

答案 0 :(得分:1)

一种选择是使用find命令来捕获7天以上的文件并将其删除。 所以它给出了这样的东西:

find . -type f -name ".*-backup.tar.gz" -mtime +7 -exec rm {} \;

您可以在脚本中添加此行 如果要先测试,请通过打印删除exec部分,以显示捕获到的文件:

find . -type f -name ".*-backup.tar.gz" -mtime +7 -print

答案 1 :(得分:0)

您可以尝试以下解决方案:

# Purpose: This step is used to Purge 7 days old files
export PROJECT_LOG="${PROJECT_HOME}/log";
export APP_MAINT_LOG="APP.log"
export LOG_RETAIN_DUR=7
echo "Maintenance Job Started" > "${APP_MAINT_LOG}"
echo "=========================================================================" >> "${APP_MAINT_LOG}"
echo "${LOG_RETAIN_DUR} Day(s) Old Log Files..." >> "${APP_MAINT_LOG}"
echo "=========================================================================" >> "${APP_MAINT_LOG}"
find "${PROJECT_LOG}" -mtime +"${LOG_RETAIN_DUR}" -type f -exec ls -1 {} \; >> "${APP_MAINT_LOG}"
#find "${PROJECT_LOG}" -mtime +"${LOG_RETAIN_DUR}" -type f -exec rm -rf {} \;
echo "=========================================================================" >> "${APP_MAINT_LOG}"
echo "Maintenance Job Completed" >> "${APP_MAINT_LOG}"
cat "${APP_MAINT_LOG}"

注意:我已注释了“删除文件”行,以便您可以检查并运行!