~에서https://rsync.samba.org/examples.html, 다음 예에는 두 개의 백업이 있습니다. 첫 번째 백업 find
은 및 에 의해 수행 cp
되고 두 번째 백업은 에 의해 수행됩니다 rsync
. 내 질문은 첫 번째 백업에 관한 것입니다.
나는 매일 밤 rsync를 사용하여 모뎀 링크를 통해 아내의 홈 디렉토리를 백업합니다. 크론 작업은 다음과 같습니다
#!/bin/sh cd ~susan { echo date dest=~/backup/`date +%A` mkdir $dest.new find . -xdev -type f \( -mtime 0 -or -mtime 1 \) -exec cp -aPv "{}" $dest.new \; cnt=`find $dest.new -type f | wc -l` if [ $cnt -gt 0 ]; then rm -rf $dest mv $dest.new $dest fi rm -rf $dest.new rsync -Cavze ssh . samba:backup } >> ~/backup/backup.log 2>&1
이 스크립트의 대부분은 rsync와 관련이 없으며 단지 생성만 한다는 점에 유의하세요.일일 백업수잔의 작품~susan/backup/ 디렉토리에서이 방법으로 그녀는 지난 주의 모든 버전을 검색할 수 있습니다.
마지막 줄은 호스트 삼바에 대한 모뎀 링크를 통해 그녀의 디렉토리를 rsync합니다. 백업할 필요가 없는 항목에 대해 .cvsignore에 항목을 추가할 수 있는 -C 옵션을 사용하고 있습니다.
내 질문은
"~susan/backup/ 디렉터리에"가
date +%A
"dest=~/backup/"에 의해 지정되어 있습니까? 이것은 스크립트를 실행하는 사용자의 홈 디렉터리를~
의미하며 , 그 사용자는 Susan이 아닐 수도 있으므로 그렇지 않을 수도 있습니까 ?dest
~
~susan
"매일 백업"을 지정하시겠습니까
\( -mtime 0 -or -mtime 1 \)
?\( -mtime 0 -or -mtime 1 \)
지난 24시간이 아니라 지난 48시간 동안 파일이 수정되었다는 뜻인가요 ?
감사해요.
답변1
"dest=~/backup/date +%A"에 의해 "~susan/backup/ 디렉터리에"가 지정되어 있습니까?
예, 맞습니다. 구현이 사양과 일치하지 않습니다.
~의 dest가 스크립트를 실행하는 사용자의 홈 디렉터리를 나타내나요? 사용자가 Susan이 아닐 수도 있으므로 ~가 ~susan을 나타내지 않을 수도 있습니까?
예. 그러나 Susan의 모든 파일에 대한 액세스를 보장하려면 스크립트를 어떤 방법으로든 실행해야 합니다 susan
. Susan이(또는 그녀를 대신하여) root
운영할 수도 있습니다 .cron
"일일 백업"이 ( -mtime 0 - 또는 -mtime 1 )로 지정됩니까?
나는 "매일"이 스크립트가 실행되는 대상 cron
(또는 현재 시스템 타이머)에 따라 결정될 수 있다고 생각합니다.
( -mtime 0 - 또는 -mtime 1 ) 이는 지난 24시간이 아닌 지난 48시간 동안 수정된 파일을 의미합니까?
예. -mtime 0
"현재와 비교하여 가장 가까운 24시간으로 반올림한 수정 타임스탬프는 0 × 24시간입니다"를 의미합니다. 이는 에도 해당되므로 -mtime 1
지난 48시간(음, 엄밀히 말하면 48시간 미만) 동안 수정된 모든 항목을 찾습니다. . 일일 작업 시작 시간 변경을 고려하여 전체 24시간의 변경 사항을 캡처하려면 이 정보가 필요합니다.