'find'、'chattr',终端上的命令可以正常工作。但是 crontab 中的命令就不好了

'find'、'chattr',终端上的命令可以正常工作。但是 crontab 中的命令就不好了

我使用“a”目录作为“samba”目录,

这是我自由制作的,为了不让它在制作10分钟后被删除。

'find'、'chattr',终端上的命令运行正常

~$ sudo find /home/a/* -type f -mmin +10 -exec  chattr +i {} \;

但是crontab里的命令不好

* * * * * find /home/a/* -type f -mmin +10 -exec  chattr +i {} \;

原因何在?

答案1

Cron 不会导入任何环境变量,因此要使其正常工作,您需要PATH=path1:path2:…在 crontab 文件顶部添加一行,以便find可以chattr找到它。例如:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
* * * * * find /home/a/* -type f -mmin +10 -exec  chattr +i {} \;

或者,您可以使用命令的完整路径:

* * * * * /usr/bin/find /home/a/* -type f -mmin +10 -exec /usr/bin/chattr +i {} \;

相关内容