我对bash脚本还很陌生,所以我对此几乎没有疑问。我有一个系统每天从00:00到00:00创建一个缓存文件夹,我想做的是;
到目前为止,我所做的是; (感谢@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