我有一个monit服务正在运行 它会检查一个文件是否发生了变化,然后它会触发一个脚本以确保该文件被放入git中:
check file ncc_db with path /home/ootbdv/ncc_db/production.sqlite3
if changed checksum then exec "/home/ootbdv/ncc_db/autocommit.sh"
我知道我已正确设置monit,因为日志文件显示了这一点。
[PDT Jun 3 01:04:14] info : 'ncc_db' checksum has not changed
[PDT Jun 3 01:10:14] error : 'ncc_db' checksum was changed for /home/ootbdv/ncc_db/production.sqlite3
[PDT Jun 3 01:10:14] info : 'ncc_db' exec: /home/ootbdv/ncc_db/autocommit.sh
[PDT Jun 3 01:12:14] error : 'ncc_db' checksum was changed for /home/ootbdv/ncc_db/production.sqlite3
[PDT Jun 3 01:12:14] info : 'ncc_db' exec: /home/ootbdv/ncc_db/autocommit.sh
[PDT Jun 3 01:14:14] info : 'ncc_db' checksum has not changed
所以我知道monit正在工作
我也知道脚本正在工作,因为当我输入/home/ootbdv/ncc_db/autocommit.sh
脚本按预期工作时,它会跳转到目录并触发git命令。
#/bin/bash
cd /home/ootbdv/ncc_db/
git commit -a -m 'monit:autocommit'
我做错了什么,以至于monit没有按预期工作?
答案 0 :(得分:0)
看起来您的脚本是正确的,但您没有将添加的文件推回到远程存储库。
您已将文件添加到本地存储库,现在必须将其推送到远程存储库
#/bin/bash
cd /home/ootbdv/ncc_db/
git commit -a -m 'monit:autocommit'
git push <origin_name> <branch_name>
答案 1 :(得分:0)
问题是脚本中的标题不正确;它应该是#!/bin/bash
而不是#/bin/bash
。
希望这有助于其他人。