我在Linux机器中使用此脚本来查找昨天修改的所有文件:
#!/bin/bash
find /home/*/domains/*/public_html/ -name "*.php" -mtime -1 | while read line; do
echo "$line"
done
当我手动运行脚本时,该脚本可以按预期工作,但是如果从以下位置运行该脚本,则会失败并显示以下错误cron
:
find: `/home/*/domains/*/public_html/': No such file or directory
发行:Centos 5
cron:
#DO NOT EDIT THIS FILE. Change through DirectAdmin
MAILTO=MYMAIL@gmail.com
*/1 * * * * bash /home/admin/check_phpfile_changed.sh
单引号不起作用
嗨,欢迎来到stackexchange。您可以发布您在crontab中编写的内容,以使这个问题更好。
—
Joao Costa
这不会引起问题,但是
—
terdon
while
循环的意义何在?find
默认情况下已经打印了其输出,while
它没有做任何有用的操作,如果文件名包含换行符,则可能会导致问题。只需将其删除。
由于需要更多信息(有关所指示目录的存在),我投票关闭了此问题,因为用户无法提供此信息。
—
库萨兰达
ls -ld /home/*/domains/*/public_html/
什么?