시도해보십시오 cron
. 특정 시간이나 간격으로 명령을 실행하는 도구입니다. 찾고자하는 것이 정확하지 않을 수도 있지만 (빌드에서 복제) 꽤 잘 작동합니다.
cron을 설정하려면 터미널에서를 입력하십시오 crontab -e
.
이렇게하면 텍스트 편집기 (기본값으로 설정하는 텍스트 편집기에 따라 다름)와 각 필드의 용도를 설명하는 멋진 헤더가 나타납니다.
minute, hour: does as it says
dom: day of month
mon: month
dow: day of week
이제 정기적 인 백업을 수행하라는 명령을 살펴 보겠습니다. 백업을위한 훌륭한 도구는 rsync입니다. 비밀번호 프롬프트없이 SSH 키가 작동하려면 SSH 키를 설정해야합니다.
다음은 내가 사용하는 명령입니다.
rsync -vzhaPE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
사용 된 옵션 : -vzhaPE
v: verbose
z: compress (good for slow connections. Adjust compression level with --compress-level=<1-9>)
h: human readable numbers
a: archive mode. This preserves timestamps and practically clones everything over as it were.
P: progress bar.
E: keep partial files. This means that if the connection was interrupted, rsync will pick up on the partial files and continue where it left off. Good for copying multiple large files over a slow network.
delete-after: deletes files from the server that have been deleting from the sending side
옵션 v, h 및 P는 사람이 디버깅하는 데 더 많이 사용되므로 cron 작업에 이러한 옵션을 사용하지 않을 것입니다.
그래서, 그것을 cron에 넣으려면 : (예를 들어 매 10 분마다 실행)
*/10 * * * * rsync -zaE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
이 명령은 10 분마다 서버의 지정된 디렉토리에 지정된 디렉토리의 파일을 되돌립니다 . rsync가 복사 한 파일을 삭제할 때 중복되지 않습니다.
또한 원하는 경우 Time Machine과 같은 버전 관리 기능에 관심이있는 경우 복사 된 백업을 다른 폴더로 이동시키는 스크립트를 실행할 수도 있습니다. 충분한 저장 공간이 필요하고 백업 명령 (rsync push to rsync pull)에 약간의 비틀기가 필요합니다. 이것이 당신이 찾고있는 것이라면 알려주세요.