shell脚本为cron执行多个shell脚本

时间:2012-12-26 20:18:19

标签: shell cron

我是使用Linux shell脚本和cron的新手。如果我从命令行运行pubspg1.sh - 它运行得很好但是当用cron运行时 - 没有任何反应。也许我没有正确设置脚本以在cron中运行?注意:/ path ...是shell脚本的完整路径。

在cron上,我有这个:

30 22 * * 2 sh /path... /pubspg1.sh

pubspg1.sh脚本如下所示:

#!/usr/bin/bash

/usr/bin/sh /path... /pub1pg1.sh

/usr/bin/sh /path... /pub2pg1.sh

/usr/bin/sh /path... /pub3pg1.sh

/usr/bin/sh /path... /pub4pg1.sh

2 个答案:

答案 0 :(得分:0)

  1. 确保在上一次crontab条目后至少有一个空行。
  2. 将sh更改为bash
  3. 确保您的路径不包含需要转义的特殊字符(例如,%)

答案 1 :(得分:0)

  1. 如果您正在使用sh,则需要在脚本中将/usr/bin/bash更改为%path_to_SH%/sh(您可以通过键入which sh来检查该通行证),然后您需要删除所有/usr/bin/来自你的剧本;
  2. 尝试检查执行该脚本以获取权限的权限;
  3. 您可以执行脚本可执行文件(chmod a + x%script%),然后在不使用sh的情况下将完整路径放入其中。
  4. P.S。确保你正在运行cron-daemon或cron.service(如果你正在使用systemd)