我想在我的Mac OS X机器上编写一个cron作业,它会在每天中午12:20运行一个Ruby脚本。如何创建一个在12点20分每天运行的cron作业?
这正是我需要运行,但我不知道语法或命令到Mac上使用:
/usr/bin/ruby /Users/tamer/scripts/sftp.rb
我读到做crontab -e
,但我需要以后做什么?
我想在我的Mac OS X机器上编写一个cron作业,它会在每天中午12:20运行一个Ruby脚本。如何创建一个在12点20分每天运行的cron作业?
这正是我需要运行,但我不知道语法或命令到Mac上使用:
/usr/bin/ruby /Users/tamer/scripts/sftp.rb
我读到做crontab -e
,但我需要以后做什么?
“在上午12:20日常” 的crontab的是
20 0 * * *
在crontab中整条生产线将被
20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb
crontab条目看起来应该像:
20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb
这假设您不需要任何其他环境变量来使其全部工作。如果您确实需要其他变量,则创建一个环境设置shell脚本,然后执行Ruby程序和脚本。
要提交作业,我通常使用:
crontab -l > x3
echo "20 0 * * * /usr/bin/ruby /Users/tamer/scripts/sftp.rb" >> x3
crontab < x3
rm x3
不会你只需要使用'crontab的-e'编辑crontab的配置文件(代替使用X3临时文件)? – snowbound
@snowbound:也许吧,但前提是我知道/记得这个选项在那里,如果我想做交互式编辑。如果我正在编写脚本,除了使用更好的临时文件名(例如'mktemp')之外,我可能会按照所示方式执行。或者,因为我通常将我的'crontab'条目保存在源代码管理下,所以我将编辑该文件的主版本并在签入更改后重新提交。 –
您的方法还具有可以通过另一个脚本以编程方式调用的优点:D – snowbound