2017-04-04 6 views
0

안녕하세요, 백업 rsync 스크립트를 만들고 싶습니다. 월 초에 한 폴더의 상태 사본을 추가로 만들고이 변경 사항을 month 내 questing : ho는 이전에 끝난 후 rsync 작업을 실행할 수 있습니다. 그래서 백업 dir bevor를 삭제하지 않고 변경 사항을 비교하고 백업했습니다. 이제 경우에 대한 bash 스크립트가 여러 번 완료된 후 rsync가 완료되었습니다.

가 있습니다 : 그것은 두 번째는 하나가 && 연산자

답변

0

Delimine 모두 rsync 명령을 완료 필요입니다 주먹 시작하지 않는 것이 중요하다

if [ $MONTH -eq 1] && [ $DAY -eq 1]; then 
rsync -a --forece --ignore-errors --compare-des=$MONTH_COMPARE $EXCLUDE_STRING $SOURCE_LOC ssh $TARGET_DIR/$LASTYEAR/12 
rsync -a --forece --ignore-errors --delete --update $EXCLUDE_STRING $SOURCE_LOC ssh $MONTH_COMPARE 

. 이 연산자는 두 번째 명령이 만 실행하고 주먹이 성공적으로 완료되면 종료 코드 0을 반환합니다.

그래서, 당신의 코드는

if [ $MONTH -eq 1] && [ $DAY -eq 1]; then 
rsync -a --forece --ignore-errors --compare-des=$MONTH_COMPARE $EXCLUDE_STRING $SOURCE_LOC ssh $TARGET_DIR/$LASTYEAR/12 && 
rsync -a --forece --ignore-errors --delete --update $EXCLUDE_STRING $SOURCE_LOC ssh $MONTH_COMPARE 

당신은 또한 독립형 스크립트에 그 rsync 라인을 넣어 원하는 시간에 cron와 함께 시작할 수있을 것입니다, 그래서 당신은 날짜 조건을 필요로하지 않을 것이다.

+0

또한 chcek의 세 번째 인수 인 "--forece"가 맞으면, 지금 당장 * nix 컴퓨터가 없지만 오타처럼 보입니다. – Michal