use*_*116 3 unix perl cron scheduled-tasks
在unix系统下..
我想在每个星期六运行一个perl脚本A.pl.我尝试了下面的代码,它的工作原理.但我想知道是否存在任何其他代码可以工作,但不会在繁忙的循环中继续检查时间?
while(1)
{
@Time = localtime();
if( $Time[6] eq "6" )
{
`perl A.pl`;
}
}
Run Code Online (Sandbox Code Playgroud)
在Unix下,定期运行程序是工作cron.用户可以使用命令将您的作业编辑到crontab中crontab -e(将您的EDITOR环境变量设置为您喜欢的编辑器).
您阅读的crontab(5)中描述了crontab的格式
man 5 crontab
Run Code Online (Sandbox Code Playgroud)
新cron用户最常见的问题是cron作业在最小环境下运行; 甚至PATH没有导出,所以你必须PATH在你的程序中设置.
那你的程序输出在哪里呢?stdout或stderr上的任何输出都将邮寄到您的帐户.如果你想要它在其他地方,你的crontab行必须重定向输出,例如使用这样的crontab条目(注意:sh语法,而不是csh语法!):
# Quarter past 8 on Saturdays.
15 20 * * 6 /home/user/bin/A.pl >/home/user/A.stdout 2>/home/user/A.stderr
Run Code Online (Sandbox Code Playgroud)
把它放在crontab中如下:
0 0 * * 6 /path/to/perl A.pl
Run Code Online (Sandbox Code Playgroud)
当然,这是假设你在Unix上.我对Windows没有任何线索.
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |