2012-12-06 2 views
0

나는 http://joemaller.com/990/a-web-focused-git-workflow/과 비슷한 git 워크 플로우를 설정했습니다. 본질적으로 내가 맨손으로 원격 저장소에보고 로컬 저장소가 있습니다. 그런 다음 웹을 통해 액세스 할 수있는 배포 디렉토리를 동일한 베어 리포지토리에보고하는 리포지토리로 설정합니다.FTP를 통해 저장소에 파일이 추가되었을 때 git commit을 자동화하는 스크립트에서 inotifywait 사용

로컬 개발자가 원격 저장소로 변경 사항을 푸시 할 때 웹 폴더로 들어가서 저장소에서 가져 오므로 항상 가장 최신의 정보를 제공합니다. 모든 것은 꽤 잘됩니다.

내 핵심은 내가 GIT를 원하지 않고 FTP를 통해 웹 폴더에 파일을 업로드하고 싶은 사람들에게 달래주기 위해 찾고있는 것입니다. 나는 파일이 작성, 수정, 이동, 삭제, 생성 된 때마다 웹 폴더에서 inotifywait 모니터를 설정하여이 작업을 수행했습니다.이 작업을위한 my 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 

도 실제로 작동,하지만 난 내 웹 폴더에있는 파일을 수정하여 inotifywait를 트리거하면 내가 무엇을 관찰하고있어 내가 while 루프에 붙어 있다는 것입니다. 누구든지 이것에 대한 아이디어가 있습니까? 이상적으로는 그것을하는 것이 좋으며 while 루프에서 계속 불필요한 자식 명령을 실행하지 않아도됩니다.

감사합니다.

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

당신이 그것을 시도 :

+0

inotfiywait의 출력은 무엇입니까? – Chronial

답변