본문 바로가기

Linux/기타

cron#2

======================================================= LAB> 매일 새벽 4시 30분에 /root/bin/backup.sh 파일을 실행하는 설정을 세팅하시오. - 관리자이면 - systemcron ? , usercron ? - systemcron 을 사용할때 /etc/crontab 파일을 편집 - usercron 을 사용하면 crontab -e 를 사용 스크립트명 : /root/bin/backup.sh -- 순서 -- 1. 스크립트를 생성한다. 2. 시스템 크론에 예약시간을 등록한다. 3. 백업시간으로 임시로 변경한다. 4. 백업된 파일을 확인한다. 5. cron 의 로그를 확인한다. -- 순서 -- 1. 스크립트를 생성한다. - rsync 패키지가 없다면 설치한다. # rpm -q rsync rsync-3.0.6-4.el5_7.1 - mkdir -m 700 /backup # cd # install -m 700 -d /backup # mkdir bin; install /dev/null /root/bin/backup.sh # vi ~/bin/backup.sh -- /root/bin/backup.sh -- #!/bin/sh # /etc 디렉토리를 백업을 받는다. # 현재 날짜를 구해서 TODAY 변수에 넣는다. TODAY=`date +%Y%m%d` # 0728 // Y : 연도, m : 월, d : 일 # BACKUPDIR 변수에 /backup/0728 값을 넣는다. BACKUPDIR=/backup/$TODAY # /backup/0728 디렉토리를 생성한다. mkdir -m 700 $BACKUPDIR // 일반사용자는 접근할 수 없게 권한을 설정한다. # rsync 이용해서 /etc, /home 디렉토리를 /backup/0728 디렉토리에 # 복사한다. rsync -axH /etc $BACKUPDIR rsync -axH /home $BACKUPDIR -- /root/bin/backup.sh -- 2. 시스템 크론에 예약시간을 등록한다. # vi /etc/crontab -- /etc/crontab -- : : 30 4 * * * root /root/bin/backup.sh -- /etc/crontab -- 3. 백업시간으로 임시로 변경한다. # date 111504292014.50 4. 백업된 파일을 확인한다. - /etc 디렉토리가 백업되었는지 확인한다. # tree -L 2 /backup /backup/ `-- 1115 |-- etc `-- home 2 directories, 0 files # date 111604282014 # tree -L 2 /backup /backup |-- 1115 | |-- etc | `-- home `-- 1116 |-- etc `-- home # date 111704292014 # tree -L 2 /backup /backup |-- 1115 | |-- etc | `-- home |-- 1116 | |-- etc | `-- home `-- 1117 |-- etc `-- home 5. cron 의 로그를 확인한다. # tail -f /var/log/cron =======================================================


copy 와 rsync 의 차이점
- rsync 는 시간을 비교하여 시간이 다르다면 변경사항만 백업받는다. (권한도 그대로 유지하면서) 

- copy 는 항상 변경사항이 없어도 그대로 백업받는다. (용량이 클 때 트래픽이 발생되면 문제가 될 수 있다)
  권한까지 유지하려면 -a 옵션을 줘야 한다.

` (백틱) : 실행한 결과를 입력으로
ex)
 #today=`date +%Y%m%d`
 20150429

'Linux > 기타' 카테고리의 다른 글

JAVA 설치  (0) 2015.04.29
하드링크 & 심볼릭링크  (0) 2015.04.29
cron#1  (0) 2015.04.28
quota  (0) 2015.04.27
사용자와 그룹  (0) 2015.04.24