Bash-如何确保文件夹已删除?

时间:2018-06-23 08:40:54

标签: bash shell rm

我对bash脚本还很陌生,所以我对此几乎没有疑问。我有一个系统每天从00:00到00:00创建一个缓存文件夹,我想做的是;

  1. 删除昨天文件夹(删除此文件夹大约需要2-3个 分钟)
  2. 确保已将其删除
  3. 清除mod_pagespeed的缓存。

到目前为止,我所做的是; (感谢@Cyrus对代码进行了编辑)

#!/bin/bash

set -e

LOG_FILE=/var/log/pagespeed/fixer.log
dt=$(date '+%d/%m/%Y %H:%M:%S');

WORKING_DIR='somepath/folder_name';

if [ -d "$WORKING_DIR" ]; then rm -Rf $WORKING_DIR; fi


if touch "$(grep "^ *ModPagespeedFileCachePath" /etc/httpd/conf.d/pagespeed.conf | awk ' { print $2; } ' | sed 's/"//g')/cache.flush"; then
        exec > >(tee -a ${LOG_FILE})
        exec 2> >(tee -a ${LOG_FILE} >&2)
        echo "Cache_Fixed: $dt"
        exit 0
else
    echo "Fail.."
fi

但是我相信这段代码有时可能会失败,我不知道为什么。我应该遵循什么方法来改进脚本,以确保完全删除文件夹以执行干净的缓存命令?

谢谢!

编辑

Crontab

05 00 * * * /.../MPGS_Fixer/fixer.sh

0 个答案:

没有答案