我试图在我的新的Mac上设置我的数据库的备份。 我已经创build了脚本,并创build了启动的plist文件。 然而,这个任务似乎一遍又一遍地运行,而不是每天一次。 我将StartInterval设置为86400,但StartInterval似乎没有任何影响。
我能做些什么来使它每天运行一次,而不是连续的?
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.dave.mysqlbackup</string> <key>ProgramArguments</key> <array> <string>/Users/dave/Sites/mysqldump/mysqldump.sh</string> </array> <key>OnDemand</key> <false/> <key>StartInterval</key> <integer>86400</integer> </dict> </plist>
谢谢!
通过阅读launchd.plist手册页,它也看起来像replace:
<key>OnDemand</key> <false/>
附:
<key>KeepAlive</key> <false/>
可以修复你现有的plist。 事实上,在我的testing中,这改正了这个问题。 使用60秒的StartInterval ,我的程序大概每10秒运行一次,直到用KeepAlivereplaceOnDemand 。
你也可以把你的shell脚本放到/etc/periodic/daily 。