2016-07-22 4 views
0

이 디렉토리의 서버에 git repo를 만듭니다. 내가 갖고 싶은 것은 파일이 디렉토리로 옮겨 질 때마다 git push가 repo를 밀고 커밋 할 때이다. 나는 스크립트를 실행하기 위해 incrontab을 시도했다. 하지만 내 서버가 incrontab을 좋아하지 않는 것처럼 보였습니다. 매번 충돌했습니다.cron이나 incron을 사용하지 않고 Linux 서버에서 inotifywait을 계속 실행할 수 있습니까

터미널에서이 inotifywait을 실행할 수 있습니다. 그러나 터미널을 닫 자마자 시청을 멈 춥니 다. 그렇다면 Linux 서버에서 계속 inotifywait을 실행할 수있는 방법이 있습니까?

다음은 크론 일없이, inotifywait를

while inotifywait -re modify,attrib,move,close_write,create,delete,delete_self /path/to/script.sh 
    do 
    cd /path/to/dir 
    git pull 
    git add . 
    git commit -m 'updated' 
    git push 
    echo "done!" 
    done 

정말에만 inotify를 사용하려면 내 코드입니다. 나는 오랫동안 cron과 incron에서 일 해왔다. 불운.

누구든지 아이디어가 있습니까? 감사!

답변

0

제어 터미널이 닫히면 자식 프로세스는 의도적으로 종료하지 않는 신호를받습니다. 당신이 자식 프로세스가이로부터 보호되도록하려면

Hangup signal

, 당신은 nohup 명령에 의해으로 보호를 시작할 수 있습니다.

nohup command

백그라운드에서 명령을 시작하려면, 당신은 마지막에 (대부분의 경우 모든 포탄을) &을 적용합니다.

+0

이것은 작동합니다! 고맙습니다. 정말 큰 도움 !! – Kyle