gpt4 book ai didi

linux - 当文件通过 FTP 添加到 git 存储库时,在脚本中使用 inotifywait 自动执行 git 提交

转载 作者:太空宇宙 更新时间:2023-11-04 04:20:23 25 4
gpt4 key购买 nike

我有一个与此类似的 git 工作流程设置 http://joemaller.com/990/a-web-focused-git-workflow/ 。本质上,我有本地存储库,它们向裸露的远程存储库报告。然后,我可以通过 Web 访问我的部署目录,并将其设置为存储库,该存储库也向同一个裸存储库报告。

它是使用 git hooks 设置的,这样当本地开发人员将更改推送到远程存储库时, Hook 就会进入 Web 文件夹并从存储库中提取,因此它始终拥有最新和最好的内容。一切都很好。

我的症结在于我希望安抚那些不想使用 GIT 而只想通过 FTP 将文件上传到 Web 文件夹的人。我通过在 Web 文件夹上设置一个 inotifywait 监视器来完成这项工作,以便每当文件被写入、修改、移动、删除、创建等时......我的 bash 脚本如下。

!/bin/sh
inotifywait @*.swp -rm -e modify,move,create,delete,delete_self,unmount /var/www/html/mysite | while read
do

now=$(date +"%m_%d_%Y:%T")
echo $now >> temp.txt

cd /var/www/html/mysite || exit
git add --all
git commit -m "ftp update $now" -a
done

这实际上也有效,但我观察到的是,一旦我通过修改 Web 文件夹中的文件触发 inotifywait,我就会陷入 while 循环。有人对此有什么想法吗?理想情况下,希望它能够完成它的任务,而不是陷入 while 循环中不断运行不必要的 git 命令。

谢谢!

最佳答案

man page for inotifywait建议您采用不同的循环样式:

while inotifywait -e modify /var/log/messages; do

done

你尝试过吗?

关于linux - 当文件通过 FTP 添加到 git 存储库时,在脚本中使用 inotifywait 自动执行 git 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13754775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com