使用启动每2分钟运行MAMP数据库备份

保罗·斯金纳
  • 我正在尝试创建一个由launchd运行的plist文件。
  • 我希望它每2分钟运行一次(现在),它应该执行mysqldump备份。
  • 它用于备份我所有的本地MAMP数据库。
  • 脚本本身:

/Applications/MAMP/Library/bin/mysqldump --opt -u root -proot --host=localhost --all-databases > ~/Dropbox/Development/Shared\ DBs/BACKUPS/all_databases_-'date "+%Y-%m-%d_%H.%M.%S"'.sql

输入终端后,可以正常工作。

  • 我需要自动执行此备份,因此编写了以下plist文件,并将其放入 ~/Library/LaunchAgents/com.localhost.cron.plist

  • 然后运行launchctl load ~/Library/LaunchAgents/com.localhost.cron.plist,但不会每2分钟触发一次。

知道我在做什么错吗?

<?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.localhost.cron.plist</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/MAMP/Library/bin/mysqldump --opt -u root -proot --host=localhost --all-databases > ~/Dropbox/Development/Shared\ DBs/BACKUPS/all_databases_-`date "+%Y-%m-%d_%H.%M.%S"`.sql</string>
    </array>
    <key>StartInterval</key>
    <integer>120</integer>
</dict>
</plist>

笔记

我正在使用OS X Mavericks和最新的MAMP。

提前致谢。

编辑

下面选择的答案很好地回答了我的问题,但我发现我认为是更好的方法(选择您的方法)。它在这里可用:将Stderr发送给dev / null,但是如果没有错误发生,请继续

低成本航空公司

您的ProgramArgument值不正确。您应该为每个参数提供一个额外的字符串。这应该更好地工作:

<key>ProgramArguments</key>
<array>
    <string>/Applications/MAMP/Library/bin/mysqldump</string>
    <string>--opt</string>
    <string>-u</string>
    <string>root</string>
    <string>-proot</string>
    <string>--host=localhost</string>
    <string>--all-databases</string>
</array>

输出重定向是通过key完成的StandardOutPath,但是shell的扩展~将无法工作。同时启动将不允许您的shell命令创建动态文件名。您最好将所有这些包装在shell脚本中,然后从launchd调用它。

为了仅在MySQL运行时运行此脚本,可以使用如下KeepAlive键:

<key>KeepAlive</key>
<dict>
    <key>PathState</key>
    <dict>
        <key>/var/run/mysql.pid</key>
        <true/>
    </dict>
</dict>

这种方法假定您的MySQL实例将其当前的PID写入文件/var/run/mysql.pid该文件仅在MySQL运行时存在。

正如您正确指出的那样StartIntervalKeepAlive不要一起工作。无论PID文件是否存在,都会触发脚本。正确的方法是使用ThrottleInterval而不是StartInterval该键确定两次启动之间必须经过多少时间。像这样使用它:

<ThrottleInterval>
<integer>120</integer>

看一看launchd.plist(5)它详细解释了所有选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Node-Cron每45分钟运行一次Cron Job

来自分类Dev

如何将数据库记录分组为15分钟的时间间隔

来自分类Dev

每5分钟从SQLite数据库中删除不活动的项目(聊天)

来自分类Dev

如何使用石英在m子中每2分钟运行一次查询

来自分类Dev

5分钟后更新数据库

来自分类Dev

每隔5分钟计算一次数据库中的条目数

来自分类Dev

在设置的到期时间(例如5分钟)后删除数据库行

来自分类Dev

每2分钟运行批处理和脚本文件,而不是任务计划程序

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

每隔5分钟运行一次,即可通过后台服务在数据库中保存较长的时间

来自分类Dev

数据库中最近24小时的5分钟间隔聚合

来自分类Dev

如何删除数据库中5分钟内取消的订单记录?

来自分类Dev

每15分钟从数据库中删除一次数据,但会出现错误-Discord.py

来自分类Dev

PHP和MySQL:从数据库中选择未刷新超过2分钟的帐户

来自分类Dev

30分钟后从数据库中删除项目

来自分类Dev

启动后5分钟运行脚本

来自分类Dev

codeigniter获取最近1分钟的数据库字段

来自分类Dev

Cronjob每30分钟运行一次

来自分类Dev

Cron每1或2分钟就会运行一次

来自分类Dev

每5分钟运行一次.sh

来自分类Dev

如何每5分钟使用celery / cronjobs在数据库中添加一个用户

来自分类Dev

服务每2分钟重新启动一次

来自分类Dev

循环使用Sys.sleep()每2分钟逐行计算距离

来自分类Dev

如何从SQL数据库表中获取最近5分钟的记录?

来自分类Dev

5分钟后如何修改数据库(mysql)并将其还原?

来自分类Dev

让cron作业每30分钟运行一次-使用cron.hourly?

来自分类Dev

如何使用systemd替换要每五分钟运行一次的cron作业?

来自分类Dev

使用javascript从txt文件中读取数据,每5分钟一次

来自分类Dev

如何每5分钟自动备份一次mysql数据库

Related 相关文章

  1. 1

    使用Node-Cron每45分钟运行一次Cron Job

  2. 2

    如何将数据库记录分组为15分钟的时间间隔

  3. 3

    每5分钟从SQLite数据库中删除不活动的项目(聊天)

  4. 4

    如何使用石英在m子中每2分钟运行一次查询

  5. 5

    5分钟后更新数据库

  6. 6

    每隔5分钟计算一次数据库中的条目数

  7. 7

    在设置的到期时间(例如5分钟)后删除数据库行

  8. 8

    每2分钟运行批处理和脚本文件,而不是任务计划程序

  9. 9

    如何从SQL数据库表中获取最近5分钟的记录?

  10. 10

    每隔5分钟运行一次,即可通过后台服务在数据库中保存较长的时间

  11. 11

    数据库中最近24小时的5分钟间隔聚合

  12. 12

    如何删除数据库中5分钟内取消的订单记录?

  13. 13

    每15分钟从数据库中删除一次数据,但会出现错误-Discord.py

  14. 14

    PHP和MySQL:从数据库中选择未刷新超过2分钟的帐户

  15. 15

    30分钟后从数据库中删除项目

  16. 16

    启动后5分钟运行脚本

  17. 17

    codeigniter获取最近1分钟的数据库字段

  18. 18

    Cronjob每30分钟运行一次

  19. 19

    Cron每1或2分钟就会运行一次

  20. 20

    每5分钟运行一次.sh

  21. 21

    如何每5分钟使用celery / cronjobs在数据库中添加一个用户

  22. 22

    服务每2分钟重新启动一次

  23. 23

    循环使用Sys.sleep()每2分钟逐行计算距离

  24. 24

    如何从SQL数据库表中获取最近5分钟的记录?

  25. 25

    5分钟后如何修改数据库(mysql)并将其还原?

  26. 26

    让cron作业每30分钟运行一次-使用cron.hourly?

  27. 27

    如何使用systemd替换要每五分钟运行一次的cron作业?

  28. 28

    使用javascript从txt文件中读取数据,每5分钟一次

  29. 29

    如何每5分钟自动备份一次mysql数据库

热门标签

归档