> > #!/bin/bash
> >
> > su / /c "pg_dump atom > atom.`date +%Y_%m_%d_%H_%M` &" eyemanager
> > sleep 5
> > su / /c "gzip atom.`date +%Y_%m_%d_%H_%M` &" eyemanager
> > exit 0
> >
> > 이것을 바탕으로 해서(root로 작업을 했습니다.)
> >
> > #!/bin/bash
> >
> > su / postgres "pg_dump db명 > db명.`date +%Y_%m_%d_%H_%M` &"
> > mv db명.`date +%Y_%m_%d_%H_%M` /dbbackup
>
> 이것은 좀 문제가 있을 것 같습니다. 제일 마지막에 & 로 작업을 backend 로 돌리셨군요. 그러면 'db
> 명' 이라는 파일이 제대로 생성 완료되기 전에 mv 명령어가 먹히게 되겠지요. 그렇게 되면 어떻게 될까
> 요. 당연히 파일이 제대로 만들어지지 않겠지요. 차라리 제일 마지막의 &를 없애 던지 아니면 cron 으
> 로 그냥 제일 첫줄을 먼저 실행시키고 그 5분 정도 (충분한 시간이 흐른후) 뒤에 mv 명령을 실행시키는
> 방법이 좋을 것 같습니다.
>
> >
> > 이런 식으로 해서 /etc/cron.daily/backup으로 만들었습니다.
> > 물론 안되더군요....
> > 이해안되는 부분은 바로 eyemanager가 뭔지, 그리고 sleep 5는 또 뭔지....
> > 이게 안되서 정재익님이 리눅스 설명난에 올려놓으신....방법으로 해보았죠...
> >
> > postgres로 작업을 했습니다.
> >
> > crontab /e
> >
> > 0 5 * * * /usr/local/pgsql/bin/pg_dump 디비명 > 디비명.`date +%Y_%m_%d_%H_%M`
> >
> > 이렇게 했습니다.
> >
> > 물론 되지 않더군요.....
> > 아무리 찾아보아도 화일이 없어요....
> > 어디가 잘못된 건지 알려주세요....^^;;
>
> 파일 퍼미션이 문제가 있을 것입니다.
> 일단 뒤의 디비명에 정확한 경로명을 명시해 주시기 바랍니다.
>
> /usr/local/pgsql/bin/pg_dump 디비명 >/usr/local/pgsql/디비명.`date +Y......`
>
> 이런식으로 말이지요.
> 그러고 나서 해당 디렉토리를 찾아 보시기 바랍니다. 틀림없이 있을 것으로 생각됩니다.
> 문제는 뒷쪽의 디렉토리에 퍼미션이 cron을 실행시키는 사용자에게 쓰기 퍼미션이 열려 있어야 한다는
> 것입니다. 너무 당연한가요?
이렇게 했는데도 되지 않는군요....
50 16 * * * /usr/local/pgsql/bin/pg_dump 디비명 > /usr/local/pgsql/디비명.`date +%Y_%m_%d_%H_%M`
시간은 빨리 테스트하기 위해서 이렇게 정했습니다.
그런데 역시 되지 않더군요....
물론 작업은 postgres로 하구요....
음....
정말이지 넘 어렵군요....
뭐가 틀린건지 알수가 없어요.....
뭐가 잘못된 건지 확실히 알면 될텐데....웅.....
crontab 한뒤에 다시 실행해야 하는게 있는건 아니죠????
정말 모르겠네요....
|