【发布时间】:2015-06-18 03:20:19
【问题描述】:
我正在尝试安排一个 cronjob 在 linux 服务器中执行 R 脚本。我已经实现了手动在服务器中键入命令并且它可以工作。为此,我必须输入以下命令:
- root@debian:~# cd /home/script2
- root@debian:/home/script2# Rscript scriptSecos.R
我如何指定一个每天执行一次之前的命令的 cronjob?
谢谢。
【问题讨论】:
我正在尝试安排一个 cronjob 在 linux 服务器中执行 R 脚本。我已经实现了手动在服务器中键入命令并且它可以工作。为此,我必须输入以下命令:
我如何指定一个每天执行一次之前的命令的 cronjob?
谢谢。
【问题讨论】:
以下 cron 作业将在每天 0:00(午夜)从路径 /home/script2 运行 Rscript scriptSecos.R。
0 0 * * * cd /home/script2; Rscript scriptSecos.R >/dev/null 2>&1
如果要将脚本的输出保存到文件中,请将 >/dev/null 更改为 >/path/to/file。
您可以将此 cronjob 复制并粘贴到您的 crontab 文件中(您可以使用命令 crontab –e 打开该文件)
【讨论】:
2>&1 :将标准错误(错误)重定向到标准输出(正常输出)。 >/dev/null 隐藏所有消息。 2>&1 表达式在您要将错误和正常输出保存到文件时很有用。我就是这样添加的,所以如果你愿意,你很容易做到。
cd 是多么重要!因为如果您的脚本调用此文件夹中的任何内容,它将失败。谢谢
以下站点提供了有关 crontab 的有用参考信息
http://www.adminschoice.com/crontab-quick-reference
以您的示例为例,以下代码将在每天凌晨 3 点运行该作业。
00 03 * * * Rscript /home/script2/scriptSecos.R
【讨论】:
如下添加cron。
例如:
15 23 * * * Rscript /home/script2/scriptSecos.R >/dev/null 2>&1
你必须提到运行脚本类型。然后允许 cron 日志并检查它是否运行
【讨论】: