【发布时间】:2023-03-14 17:39:01
【问题描述】:
我正在尝试在 crontab (MacOS Catalina 10.15.6) 中运行 MongoDB 备份脚本
*/2 * * * * cd ~/Documents/MongoDB/hourly/ && source hourly_m_backup.sh >/tmp/stdout1.log 2>/tmp/stderr1.log
我收到了错误
/bin/sh: hourly_m_backup.sh: 不允许操作
文件的详细信息:
-rwxrwxrwx@ 1 Sethu staff 686 11 Sep 19:38 hourly_m_backup.sh
我浏览了很多 StackOverflow 帖子。我无法让脚本通过 crontab 运行。但是,如果我独立于终端执行脚本,它就可以工作。我什至删除了文件并创建了一个新文件。尽管如此,我还是从 CronTab 收到错误消息。不知道该怎么办了。
------------ 更新 --------------
我尝试使用 sudo 命令运行
*/1 * * * * echo "####" | sudo -S cd ~/Documents/MongoDB/hourly/ && echo "####" | sudo -S source hourly_m_backup.sh >>/tmp/stdout1.log 2>>/tmp/stderr1.log
我收到了错误
sudo:来源:找不到命令
-----------更新 ----------
我尝试了这个post的解决方案,并实现了这个解决方案
*/1 * * * * echo "####" | source <(sudo -S cat ~/Documents/MongoDB/hourly/hourly_m_backup.sh) >>/tmp/stdout1.log 2>>/tmp/stderr1.log
我在“邮件”中收到此错误
/bin/sh: -c: line 0: 意外标记附近的语法错误
(' /bin/sh: -c: line 0:echo "####" |源 >/tmp/stdout1.log 2>>/tmp/stderr1.log'
【问题讨论】:
-
你试过
sudo吗? -
嗨@Olha。请在问题中查找更新。我尝试实施您的建议,但出现新错误。
-
我尝试使用 ./hourly_m_backup 而不是源。我得到 ./hourly_m_backup 命令未找到
-
"./hourly_m_backup command not found" ->
chmod +rwx hourly_m_backup.sh然后sudo ./hourly_m_backup.sh