Mac OS X 下怎么才能实现自动定时运行一段命令
本人是想用lynx命令实现动态域名的功能
lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=****.f3322.org"
在终端里运行上面的命令确定是可以实现更新ip到3322动态域名的。但是需要收到运行,我想实现让Mac系统可以定时自动运行,比如每10分钟运行一次。
参照:http://www.netingcn.com/mac-os-plist.html 这里的方法,用plist实现,但是我始终不成功,看不到会运行已经编写好的脚本。
写好的plist文件是:
<?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.pubyun.ddns.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/3322ddns</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>60</integer>
</dict>
所以请高手指点一下,最好有较详细的教程
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
把要定时运行的命令写在脚本里面,比如
dynic_domain.sh
:然后
即可。记得给脚本可执行权限,另外路径名甚至不能包含~(替换为/Users/xxx).
可以参考:
http://alvinalexander.com/mac-os-x/mac-osx-startup-crontab-launchd-jobs
http://alvinalexander.com/mac-os-x/launchd-examples-launchd-plist-file-examples-mac
http://alvinalexander.com/mac-os-x/launchd-plist-examples-startinterval-startcalendarinterval
成功的话不会有窗口什么的,都在后台执行。ip没有更新也可能是脚本内命令运行失败,你手动运行下脚本:./**.sh,看ip能不能更新。
要想显式地看自动任务有没有执行,你可以在脚本开头加上一句echo "running",然后plist文件里面指定一个标准输出文件
这样看schedule.log就可以判定脚本有没有执行。
你没写</plist>