在Linux上使用crontab定时执行R语言脚本。比如你有一个test.R脚本,如何在linux上定时执行?
第一步:在linux上编写一个.sh脚本(test.sh)。
#!/bin/bash
source /etc/profile
echo "start: `date`"
/usr/local/bin/Rscript /home/test.R
echo "end:`date`"
代码说明:第二行是要加载环境变量,比较重要,如果没增加这行,定时计划在执行R脚本时,会跳过,只执行shell的脚本。第四行空格前面为R安装在linux的目录,要指定到Rscript。空格后面为要定时执行的R脚本(一般要写绝对路径)。
第二步:使用crontab定时执行test.sh
0 4 * * * nohup /home/test.sh >>/home/test.log
代码说明:参考crontab用法http://www.runoob.com/linux/linux-comm-crontab.html。这里意思为,每天4点0分执行/home/test.sh脚本,执行日志写到/home/test.log文件。
通过以上两步,即可将R脚本实现定时执行。