【问题标题】:Github AutoUpdate with cronGithub 自动更新与 cron
【发布时间】:2021-02-21 14:53:37
【问题描述】:

我有一个每 5 分钟执行一次的 cron 任务。它启动一个 bash 脚本,查找是否在 github 上进行了更改,如果是,则更新代码。但是,当有更新时找不到更新,如果我手动运行脚本,它就可以工作。有人帮我吗?在此先感谢 OverSquid。

Cron 任务:

*/5 * * * * bash /home/pi/Documents/palamazon-bot/git-update.sh > /home/pi/Documents/bot-updates/latest.txt

Bash 脚本:

#!/bin/bash
cd /home/pi/Documents/palamazon-bot
if [ $(git rev-parse HEAD) = $(git ls-remote $(git rev-parse --abbrev-ref @{u} | sed 's/\// /g') | cut -f1) ]; then
    echo "No update"
else
    echo "New update"
    git pull > /dev/null 2>&1
    npm i > /dev/null 2>&1
    pm2 restart ./main.js > /dev/null 2>&1
    echo "Code updated."
fi

感谢您的帮助!过鱿鱼。

【问题讨论】:

    标签: bash git github cron


    【解决方案1】:

    建议:

    • 引用比较的字符串if [ "$(git ...)" = "..." ]
    • 在脚本中设置PATH,然后在env -i ./yourscript下运行测试
    • 不要丢弃 stdout 和 stderr,将它们保存在一个文件中
    • 阅读 cron 发送给您的邮件以确定问题

    【讨论】:

    • 感谢您的回答,不幸的是,它不起作用....
    猜你喜欢
    • 2020-04-11
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多