linux cron: 폴더를 백업하고 싶습니다

linux cron: 폴더를 백업하고 싶습니다

cron을 사용하여 centos의 폴더를 백업하고 싶습니다. 폴더 c2duo_mms는 에 있습니다 /usr/local/src/djcode/c2duo_mms. 화요일 오후 1시에 IP를 내 홈 폴더에 백업하고 싶습니다 /home/sh.

답변1

가장 좋은 방법은 집에서 새로운 zip 아카이브를 만드는 것입니다.

exmaple */home/sh/c2duo_mms_backup.sh*라는 스크립트를 만듭니다.

#!/bin/bash

cd /usr/local/src/djcode/
tar zcf /home/sh/c2duo_mms-`date +%Y%m%d`.tar.gz c2duo_mms

스크립트에 실행 권한을 추가해야 합니다.

chmod +x /home/sh/c2duo_mms_backup.sh

그런 다음 관련 crontab 항목을 추가하십시오.크론탭 -e주문하다:

0 13 * * 2 /home/sh/c2duo_mms_backup.sh

스크립트는 매주 화요일에 새로운 압축 아카이브를 생성하고 파일 이름에 날짜를 포함하므로 필요한 경우 이전 백업을 보관할 수 있습니다. 파일 이름은 다음과 같습니다.

c2duo_mms_20110719.tar.gz 

답변2

$ crontab -e
0 13 * * 2 cp -b /usr/local/src/djcode/c2duo_mms /home/sh/

crontab -e명령은 선호하는 편집기(EDITOR 또는 VISUAL 환경 변수로 설정)에서 편집할 수 있도록 crontab 파일을 추출해야 합니다. crontab 라인은 주의 둘째 날, 연중 어느 날, 13시, 0분에 명령을 실행한다는 의미입니다. 명령 자체는 백업 파일을 생성 -b하기 위해 매개변수를 추가했다는 점을 제외하면 단일 파일의 간단한 복사본입니다. cp이렇게 하면 항상 현재 백업과 이전 백업(.bk 확장자 포함)이라는 두 개의 백업이 남게 됩니다.

편집하다:파일 대신 폴더의 경우 다음을 시도하십시오 rsync.

0 13 * * 2 rsync -av /usr/local/src/djcode/c2duo_mms/ /home/sh/c2duo_mms/

답변3

명령을 사용하여 crontab -e다음 줄을 crontab에 추가하세요.

0 13 * * 2 cp -pra /usr/local/src/djcode/c2duo_mms /home/sh

관련 정보