Apple Crontab替代plist来cd一个文件夹然后执行yii脚本

时间:2015-05-15 13:55:52

标签: macos yii cron plist crontab

我想将此crontab重新创建为新的apple plist文件,以描述和执行后台预定作业。

我想重新创建这个的原因是因为crontab在OSX中已经贬值了,而且我有一些后台处理工作,直到我制作并更新到10.10.3

  

* / 1 * * * * cd / Library / WebServer / Documents / testdrive / protected /& amp;& ./yiic smssender    从crontab我导航到受保护的文件夹,然后执行./yiic smsSender。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.chapskev.crontabtest</string>

        <key>ProgramArguments</key>
        <array>
            <string>/Users/al/bin/crontab-test.sh</string>
        </array>

        <key>Nice</key>
        <integer>1</integer>

        <key>StartInterval</key>
        <integer>60</integer>

        <key>RunAtLoad</key>
        <true/>

        <key>StandardErrorPath</key>
        <string>/tmp/AlTest1.err</string>

        <key>StandardOutPath</key>
        <string>/tmp/AlTest1.out</string>
    </dict>
</plist>

1 个答案:

答案 0 :(得分:0)

您的/Users/al/bin/crontab-test.sh脚本应包含您要运行的命令:

#!/bin/bash
cd /Library/WebServer/Documents/testdrive/protected/ && ./yiic smssender

请记住为crontab-test.sh设置可执行标记:

$ chmod +x crontab-test.sh

root设置为plist文件(您发布的文件)的所有者,并将其加载为启动作业:

$ sudo chown root crontab.plist
$ sudo launchctl bootstrap system crontab-test.plist