写了一个非常简单的脚本用于筛选日志并且归档,但是不知道如何写条件来保证输入的日期所对应的日志文件是否存在,比如 5 月份如果并没有日志产生,那希望程序提示并退出
#!/bin/bash
syslog_path="/var/log/dcmc_syslog_devices"
read -p "Enter IP to clear the desired directory: " ip_syslog_path
read -p "Enter desired date to clear[YYYY-MM]: " desired_date
desired_path="/var/log/dcmc_syslog_devices/${ip_syslog_path}"
if [ ! -d ${desired_path} ]; then
echo "Log directory does not exist! Script exited."
exit 1
fi
if [ ! -f ${"/var/log/dcmc_syslog_devices/${ip_syslog_path}/${ip_syslog_path}-${desired_date}*.log"}]; then
echo "Desired log is not available! Script exited."
exit 1
fi
#Packing syslog
echo $(date +"%Y-%m-%d %H:%M:%S")
echo "Start packing syslogs..."
sudo tar -zcvf ${desired_path}/${ip_syslog_path}-${desired_date}.tar.gz ${desired_path}/${ip_syslog_path}-${desired_date}*.log
由于日志文件最后是包含日期的所以一直使用"*"来覆盖后面的日,现在也不知道怎么修改,但是问题应该在于我的第二个条件中的这种写法是不被支持的,有没有大佬来说下这个该怎么调整啊,感谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.