동시 인스턴스화 위험 없이 rsync를 자동화하는 방법

동시 인스턴스화 위험 없이 rsync를 자동화하는 방법

~/home의 데이터를 원격/srv/share 폴더로 복사하는 rsync 명령이 있습니다.

/usr/bin/rsync -rltvz --progress --stats -e 'ssh -p MYPORT' /home/luke/share/ [email protected]:/srv/share/

1) 로컬 ~/share에서 삭제된 모든 항목이 복사되도록 이 작업을 자동화하고 싶습니다. 시간별 cron 작업을 수행하거나 시스템 타이머를 사용하고 싶지만 큰 작업을 수행하는지 걱정됩니다. 한 시간 이상 소요됩니다. 그러면 두 개의 동시 rsync 인스턴스가 동일한 데이터에서 작동합니다. 그렇습니까? 그렇다면 어떻게 피할 수 있습니까?

2) 서로 다른 시스템의 여러 rsync가 동시에 (다른) 데이터를 동일한 서버 디렉토리에 복사하는 데 문제가 있습니까?

답변1

나는 똑같은 문제가 있었다시간 이동. 백업 스크립트 상단에 이것을 추가하여 이후까지 시작되지 않습니다.시간 이동완전한:

# if Timeshift is running, wait until it's finished
until [ -z $(/bin/pidof timeshift) ]
  do
      # waiting
      sleep 1
  done

그냥 교체하세요동기화~을 위한시간 이동가셔도 좋습니다.

하나의 긴 명령에 모든 것을 넣으려면 다음을 수행하십시오.

until [ -z $(/bin/pidof rsync) ]; do sleep 1; done; your_rsync_command

관련 정보