하루에 한번 특정 폴더를 복사해서 (백업) 다른폴더에 옮겨두기 되나요?

하루에 한번 특정 폴더를 복사해서 (백업) 다른폴더에 옮겨두기 되나요?
가끔 자료가 일부분 날라가기도하는데요 개인서버운영중인데 그거때문에 가끔 짜증나더라구요.
그래서 하루에 한번 폴더자체를 복사해서 다른곳으로 복사해둔다거나, 날짜별로 정리해둔다거나 머 말그대로 백업? 같은게 가능할까요?
방법좀 알려주세요

crontab 패키지가 있는데요.

어떤 서버인지 알려주셨다면 좋았을것이라는 생각을 합니다… 만일 웹서버이고 문서 와 자료들이라면
tar을 이용한 압축백업을 하는 것도 괜찮을듯합니다… 저에 home 폴더을 압축백업하는 허접한
스크립터입니다… 아주 허접합니다…별로 특별한것은 없습니다… 단지 예외항목을 둔다느 겁니다…

#! /bin/sh

OF=$HOME/mybackup/my-backup-$(date +%Y%m%d_%s%N).tgz
files=$HOME/exclude.files
dirs=$HOME/mybackup

if [ -d $dirs ] && echo "디렉토리 존재을 합니다…"
then :
else
echo "디렉토리 생성작업을 합니다…" ; mkdir -p $dirs
fi

if [ -f $files ] && echo "파일이 존재을 합니다."
then :
else
echo "파일을 생성하는 작업을 합니다." ; touch $files
fi

tar cvfzp $OF -X $files $HOME
echo "압축을 완료했습니다…"


이걸 간단하게 한줄로 풀면

tar cvfzp $HOME/mybackup/my-backup-$(date +%Y%m%d_%s%N).tgz -X $HOME/exclude.files $HOME
입니다…간단하죠…

압축백업을 하면서 exclude.files 라는 파일을 참조해서 압축하지않을 디렉토리나
특정 파일 또는 특정 확장자을 가진 파일 또는 디렉토리는 압축하지않도록 만든겁니다…
exclude.files는 그냥 나열식으로 하시면 됩니다. 만일 home 디렉토리에 aaa라는
디렉토리을 받고 싶지않다면 /home/홈디렉토리/aaa라고 적어주시면 됩니다…
파일 확장자가 avi을 가진 파일을 백업하고 싶지않다면 *.avi라고 적어주면 됩니다.
그러면 이 항목은 제외가 되고 압축이됩니다. 물론 적어주실때 풀디렉토리을 적어
주시면 됩니다…

파일명은 my-backup-20111024_1319385032637418900.tgz 와 같이 날짜
시간외에 초와 뒤에 임의의 난수을 적어줘서 혹시나 두번백업을 하더라도 절대 같은 파일명이
나오지않게했구요…

파일크기가 작은 파일이라면 tar 압축을 할때 제외항목을 할수있는 부분을 약간만
생각하면 쉽게 간단하게 개인용 백업을 할수있을겁니다…물론 이것을 자동으로…
하루에 한번 백업을 하도록 만들어놓는다면 더 좋겠죠…

작은 도움이나마 되셨으면합니다… 옛날에 만들어 놓은 허접스크립터지만요…

정말 늦게 답해드려서죄송해요
감사합니다.
함해볼께요

스크립트는 잘 작동하는데 실행하는게문제네요.

크론텝에 아래와같이 했는데 시간마다 작동을 안합니다.

0 7 * * * root /sonaki/backup.sh
0 12 * * * root /sonaki/backup.sh
0 19 * * * root /sonaki/backup.sh

그래서 gksu gnome-schedule 에다가

bash ~/backup.sh

도해보고

sudo bash ~/backup.sh

둘다해봤는데 역시 안되네요.
어떻게설정해줘야할까요.

sudo /etc/init.d/cron restart
이 명령을 주셨어요?

[quote="golden":1axdelb2]sudo /etc/init.d/cron restart
이 명령을 주셨어요?[/quote:1axdelb2]

네 했어요.

루트권한이아닌 일반사용자권한으로하니까되네요. 이런…해결완료요

이글을 다시 생각해보면 새로 갱신 되는 파일을 부분적인 파일들을 구분을 못하는 약점이 있죠… 네… 즉… 부분백업이라고 하는 부분이죠…
그래서 어떤 경로을 빼는 것이 아니라 그 경로에 있는 파일중 새로 갱신된 파일만 구분해서 백업을 하는 방법이 없을까 생각해봤는데…
의외로 간단할것같네요…

일단 find 명령을 이용을 해서 새로 생긴된 파일의 목록을 만드는 작업부터해보면…

cat /dev/null >include.files | find /home/wewoori -mtime -1 ! -type d -print > include.files

-amin n n분 이전에 접근한 파일
-atime n n24시간 이전에 접근한 파일
-ctime n n
24시간 이전에 파일의 상태가 변경된 파일
-mtime n n*24시간 이전에 파일의 내용이 변경된 파일

앞부분은 여러분도 아시는바와 같이 널값의 파일의 만들어주는거죠… 파일에 내용이 있으면 모조히 지워버리죠…
이렇게 하지않으면 뒤에 파일들이 쌓일것이고 부분 백업이라는 의미는 없을테니말이죠…
그 다음 저 스크립터의 약간 일부만 수정해주면 됩니다… 파일목록에 있는 파일을 제외하고 압축을 하는 것이
-X 옵션이라면 찾아보니 -T라는 옵션이 있네요…반대의 개념입니다… 특정 디렉토리에서 목록에 있는 파일만
압축을 해줍니다…

한줄로 요약을 하면

tar cvfzp $HOME/mybackup/$1+$(date +%Y%m%d_%s%N).tgz -T $HOME/include.files

include와 exclude을 혼합해서 사용가능합니다… 그렇게되면 include있는 파일을 삽입하면서 exclude
파일을 참고하게됩니다…

tar cvfzp $HOME/mybackup/$1+$(date +%Y%m%d_%s%N).tgz -X $HOME/exclude.files -T $HOME/include.files

이런식으로 되겠죠…tar.gz으로 압축백업을 할 경우 스크립터을 약간만 쓰면 간단하게 …

변경 내용이 다소 적은 내용들의 홈페이지 백업이라면
SVN이나 GIT 등의 버전관리 시스템을 사용하는 것도 괜찮습니다.
목적 그대로 변경된 부분만 저장하기 때문에 효율적인데다가 특정 시점으로 되돌리기 기능도 있으니까요.

제가 관리했던 작은 홈페이지들을 subversion으로 백업했던 적이 있었는데 꽤 편리했습니다.

주기적으로 실행할때는 다들 cron을 사용하는 것 같습니다.

책에선 at도 소개되던데 사용하는 사람을 못봤습니다.

하지만 백업 할때 사용하는 툴을 다들 다양한것 같습니다.

cp, tar, cpio, dump, rsync

각각 장단점이 있겠지만 전 주로 cp와 rsync를 사용하고 있습니다

$ cp -auvf /SRC /DEST-daily
$ rsync -avr --delete /SRC /DEST-weekly