cronjob可以写成shell吗?
Can a cronjob be written in a shell?
我需要在 .sh
文件中编写一个 cronjob。是否可以在 .sh
文件中编写一个 cronjob?
我的定时任务是
*/1 * * * * bash /abc/def/ghi/sample.sh
此 cronjob 将每分钟执行一次。
Update 根据 Jonathan Leffler 的评论,变量 SHELL
可能无法被 cron
识别(取决于版本)和不是 POSIX 强制要求的。仅就该帐户而言,这将使问题中的方法成为更好的选择。
cron 将(尝试)执行其中的任何内容。按照您的方式,它将 运行 bash
带有以下参数,因此 bash
将 运行 您的脚本。 (感谢评论中的Jonathan Leffler。)
或者,您可以通过设置 SHELL
变量
,通过您选择的 shell 告诉 cron 运行 所有命令
SHELL=/bin/bash
* * * * * /abc/def/ghi/sample.sh
有关详细信息和示例,请参阅 Linux 系统上的 man 5 crontab
。
鉴于评论中提出的问题,这似乎是适当的添加。
要设置 cron 作业,我们需要制作一个 "crontab" 文件。这是通过调用
crontab -e
选项 -e
用于 "edit." 编辑器出现,然后您可以输入问题中的行,然后是 "save" 和 "quit"。出现哪个编辑器取决于设置,但如果您什么都没做,它很可能是 vi
。 'root' 可能需要 'allow' 为用户提供此功能。您可以通过 crontab -l
.
查看您的 crontab 的内容
到时候命令将被执行,脚本“/path/sample.sh”将 运行。在该脚本中,您的第一行应该是 #!/bin/bash
。您显示的行不在脚本中,它属于 crontab 文件。脚本的其余部分 "sample.sh" 应该包含 bash
shell 可以执行的代码。
注意 请参阅 Jonathan Leffler 的(附加)评论以了解更多详细信息和专业知识。
我需要在 .sh
文件中编写一个 cronjob。是否可以在 .sh
文件中编写一个 cronjob?
我的定时任务是
*/1 * * * * bash /abc/def/ghi/sample.sh
此 cronjob 将每分钟执行一次。
Update 根据 Jonathan Leffler 的评论,变量 SHELL
可能无法被 cron
识别(取决于版本)和不是 POSIX 强制要求的。仅就该帐户而言,这将使问题中的方法成为更好的选择。
cron 将(尝试)执行其中的任何内容。按照您的方式,它将 运行 bash
带有以下参数,因此 bash
将 运行 您的脚本。 (感谢评论中的Jonathan Leffler。)
或者,您可以通过设置 SHELL
变量
SHELL=/bin/bash
* * * * * /abc/def/ghi/sample.sh
有关详细信息和示例,请参阅 Linux 系统上的 man 5 crontab
。
鉴于评论中提出的问题,这似乎是适当的添加。
要设置 cron 作业,我们需要制作一个 "crontab" 文件。这是通过调用
crontab -e
选项 -e
用于 "edit." 编辑器出现,然后您可以输入问题中的行,然后是 "save" 和 "quit"。出现哪个编辑器取决于设置,但如果您什么都没做,它很可能是 vi
。 'root' 可能需要 'allow' 为用户提供此功能。您可以通过 crontab -l
.
到时候命令将被执行,脚本“/path/sample.sh”将 运行。在该脚本中,您的第一行应该是 #!/bin/bash
。您显示的行不在脚本中,它属于 crontab 文件。脚本的其余部分 "sample.sh" 应该包含 bash
shell 可以执行的代码。
注意 请参阅 Jonathan Leffler 的(附加)评论以了解更多详细信息和专业知识。