태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

단순백업

#!/bin/bash

from_dir="/home/sysadmin/WWW"   백업할디렉토리
to_dir="/home/sysadmin"   백업받을디렉토리

today=`date +%Y%m%d`   백업파일명을 날짜로 사용
to_file=${today}.tar.gz
tar cvfz ${to_dir}${to_file} ${from_dir}
split -b 650m ${to_dir}${to_file} ${to_dir}${today}   파일을 650메가씩 분할
rm -f ${to_dir}${to_file}



변경된 부분만 백업 (tar -N 옵션 사용)

(예) 2010년 01월 01일 이후 변경된 파일들만 백업
tar cvfz backup.tar.gz -N 20100101 /경로

활용예

#!/bin/bash

from_dir="/home/sysadmin/WWW"   백업할디렉토리
to_dir="/home/sysadmin"   백업받을디렉토리

today=`date +%Y%m%d`   백업파일명을 날짜로 사용
to_file=${today}.tar.gz
tar cvfz ${to_dir}${to_file} -N `cat ./last_date` ${from_dir}   이전 작업시 저장된백업날짜를 호출
split -b 650m ${to_dir}${to_file} ${to_dir}${today}   파일을 650메가씩 분할
rm -f ${to_dir}${to_file}   백업날짜를 저장


사용별 백업

/etc/passwd 파일에서, 사용자(UID 500이상)의 계정명과 홈디렉토리 위치를 가져옴
cat /etc/passwd | sed -e 's/::/:imsy:/g' | sed -e 's/ //g' | sed -e 's/:/ /g' | awk '$3 >= 500 {print $1,$6}'

활용예

#!/bin/bash
to_dir="/home/sysadmin"   백업받을디렉토리

cat /etc/passwd | sed -e 's/::/:imsy:/g' | sed -e 's/ //g' | sed -e 's/:/ /g' | awk '$3 >= 500 {print $1,$6}' > "$tmpfile"
today=`date +%Y%m%d`   백업파일명을 날짜로 사용
to_file=${today}.tar.gz

from_dir=`awk '{print $2}' "$tmpfile"`   백업할디렉토리

for i in `echo "$from_dir"`
do
    account=`grep "$i" "$tmpfile" | awk '{print $1}'`
    tar cfz ${to_dir}${account}${to_file} ${i} 2>/dev/null
    split -b 650m ${to_dir}${account}${to_file} ${to_dir}${account}${today}   파일을 650메가씩 분할
    rm -f ${to_dir}${account}${to_file}
done
rm -f "$tmpfile"