【发布时间】:2011-11-11 16:43:53
【问题描述】:
我正在尝试在我的 Mac OS X 机器上编写一个 cron 作业,该作业将在每天凌晨 12:20 运行 Ruby 脚本。
这是我需要运行的,但我不知道在 Mac 上使用的语法或命令:
/usr/bin/ruby /Users/tamer/scripts/sftp.rb
我读到了crontab -e,但之后我需要做些什么吗?
【问题讨论】:
我正在尝试在我的 Mac OS X 机器上编写一个 cron 作业,该作业将在每天凌晨 12:20 运行 Ruby 脚本。
这是我需要运行的,但我不知道在 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 临时文件)吗?
mktemp)之外,我可能会按照所示进行。或者,由于我通常将 crontab 条目置于源代码管理之下,因此我会编辑文件的主版本并在签入更改后重新提交。