0

我是使用 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
4

2 回答 2

0
  1. 如果您正在使用 sh ,则需要更改/usr/bin/bash为in 脚本(您可以通过键入来检查该通行证),然后您需要从脚本中删除所有内容;%path_to_SH%/shwhich sh/usr/bin/
  2. 尝试检查权限以执行该脚本以获得权限;
  3. 你可以做你的脚本可执行文件(chmod a+x %script%),然后把它的完整路径放在没有sh.

PS 并且可以肯定的是,你正在运行 cron-daemon 或 cron.service(如果你使用的是 systemd)

于 2012-12-26T20:41:09.493 回答
0
  1. 确保在最后一个 crontab 条目之后至少有一个空行。
  2. 将 sh 更改为 bash
  3. 确保您的路径不包含需要转义的特殊字符(例如,%)
于 2012-12-26T20:35:52.590 回答