linux 用于检查文件是否存在于特定目录超过一小时的脚本
linux script to check if file exists at a particular directory more than an hour
我对脚本不是很在行,这就是我发布这个问题的原因。
我只想检查 /path/to/my/directory/
是否包含超过一个小时的任何文件。如果它存在超过一个小时,那么脚本应该 return true else false 这样我就可以发送电子邮件,如果脚本 return true.
这是一种警报脚本。
我找到了这个脚本:
if ls /path/to/your/files* 1> /dev/null 2>&1; then
echo "files do exist"
else
echo "files do not exist"
fi
但我认为这个脚本只检查目录是否包含任何文件。
但在我的情况下,只有当目录包含超过一个小时的任何文件时,我才必须 return 为真。
更新: 按照建议,我对我的脚本做了一些小改动,它工作正常(如果我 运行 手动脚本文件)。
myscript.sh
#!/bin/bash
if [[ `find /opt/coldfusion2018/cfusion/Mail/Undelivr/ -type f -mmin +60 | wc -l` -gt 0 ]];then
echo "files do exist"
sendmail myemail@gmail.com < /demo/email.txt
else
echo "files do not exist"
fi
问题: 我正在尝试设置每 5 分钟执行此脚本 (myscript.sh) 的 crontab。但它不能通过 crontab 工作,如果我手动 运行 脚本然后它工作并且我也收到邮件。
这是命令:
./demo/myscript.sh
Corntab:
*/5 * * * * ./demo/myscript.sh
谢谢。
我认为你应该试试这个:
#!/bin/bash
if [[ `find /path/to/my/directory/ -type f -mmin +60 | wc -l` -gt 0 ]];then
echo "files do exist"
else
echo "files do not exist"
fi
说明:我会在目录/path/to/my/directory/下找到所有修改时间大于60分钟的文件然后统计它们。
这个也应该做这件事:
[ "$(find /path/to/my/directory/ -type f -mmin +60)" ] && echo "files do exist" || echo "files do not exist"
祝你好运:)
我对脚本不是很在行,这就是我发布这个问题的原因。
我只想检查 /path/to/my/directory/
是否包含超过一个小时的任何文件。如果它存在超过一个小时,那么脚本应该 return true else false 这样我就可以发送电子邮件,如果脚本 return true.
这是一种警报脚本。
我找到了这个脚本:
if ls /path/to/your/files* 1> /dev/null 2>&1; then
echo "files do exist"
else
echo "files do not exist"
fi
但我认为这个脚本只检查目录是否包含任何文件。
但在我的情况下,只有当目录包含超过一个小时的任何文件时,我才必须 return 为真。
更新: 按照建议,我对我的脚本做了一些小改动,它工作正常(如果我 运行 手动脚本文件)。
myscript.sh
#!/bin/bash
if [[ `find /opt/coldfusion2018/cfusion/Mail/Undelivr/ -type f -mmin +60 | wc -l` -gt 0 ]];then
echo "files do exist"
sendmail myemail@gmail.com < /demo/email.txt
else
echo "files do not exist"
fi
问题: 我正在尝试设置每 5 分钟执行此脚本 (myscript.sh) 的 crontab。但它不能通过 crontab 工作,如果我手动 运行 脚本然后它工作并且我也收到邮件。
这是命令:
./demo/myscript.sh
Corntab:
*/5 * * * * ./demo/myscript.sh
谢谢。
我认为你应该试试这个:
#!/bin/bash
if [[ `find /path/to/my/directory/ -type f -mmin +60 | wc -l` -gt 0 ]];then
echo "files do exist"
else
echo "files do not exist"
fi
说明:我会在目录/path/to/my/directory/下找到所有修改时间大于60分钟的文件然后统计它们。
这个也应该做这件事:
[ "$(find /path/to/my/directory/ -type f -mmin +60)" ] && echo "files do exist" || echo "files do not exist"
祝你好运:)