문제) 매일 오전 6시 20분에 타임서버(time.bora.net)을 이용하여 시간이 동기화 되도록 설정해 주세요.
]# crontab -e
20 06 * * * rdate -s time.bora.net
]# date 091106192013 => 시간 변경 후 1분후 시간 확인
=> 데이타 백업 : 증분(incremental)백업,업데이트(update)백업,증가분(differential)백업 : 압축프로그램을 이용
※ 백업 관련 정보를 사용 => 날짜정보를 활용
]# date +%Y%m%d => date에 의해 출력될 패턴을 지정
20130911
]# date --date '2 months ago' +%Y%m%d => 2달전 date 정보를 패턴에 맞게 출력
20130711
]# date +%a => 요일 출력
수
]# today=$(date +%Y%m%d) => 시스템변수 today에 데이타를 저장
]# echo $today => echo 명령을 이용하여 시스템변수 today의 데이타를 화면에 출력
]# tar cvzf etc_$today_fullbackup.tar.gz /etc => /etc 디렉토리를 백업
=> 압축파일명 :etc_20130911_fullbackup.tar.gz
※ 증분백업를 위한 ShellScript 프로그램 작성 => tar 명령에 -g 옵션을 활용
]# vi backup.sh
#!/bin/bash
backup_dir=/backup
time=$(date +%Y%m%d%H%M)
day=$(date +%a)
backup_source=/home
if [ ! -d $backup_dir ]
then
mkdir $backup_dir
fi
if [ $day = "일" ]
then
rm -f $backup_dir/home.backup.list
tar -g $backup_dir/home.backup.list -czf $backup_dir/home_$time.full-backup.tar.gz $backup_source
else
tar -g $backup_dir/home.backup.list -czf $backup_dir/home_$time.backup.tar.gz $backup_source
fi
]# chmod 700 backup.sh
]# ./backup.sh
]# crontab -e
30 04 * * * /root/backup.sh
문제) 위에서 백업 데이타들중 3달전 백업파일을 삭제하는 프로그램을
작성하고 crond을 이용하여 매달 첫째주 일요일에 실행되도록 설정하세요.
]# vi backup_remove.sh
$time=$(date --date '3 months ago' +%Y%m)
$backup_dir=/backup
rm -rf $backup_dir/home_$time*
]# chmod 700 backup_remove.sh
]# crontab -e
00 06 1-7 * 0 /root/backup_remove.sh
'Dev > Dev:: Linux' 카테고리의 다른 글
[Day008] Linux 8일차 - SHELL 관리 2 (0) | 2013.09.13 |
---|---|
[Day007] Linux 7일차 - Shell 관리 (0) | 2013.09.11 |
[Day007] Linux - 데몬(Daemon) 관리 및 예약 (0) | 2013.09.11 |
[Day006] Linux 과제 (0) | 2013.09.10 |
[Day006] Linux 6일차 - 프로그램 실행 및 프로세스 관리 (0) | 2013.09.10 |