안녕하세요...
::용피리 님께서 쓰시길::
> 답변 해 주신...최영봉님께 감사드립니다..^_^
>
> 아래에 답변해주신 내용대로 따라 해 보았습니다.
> 10개이상의 db를 덤프하는 방법인데... 에러가 납니다.
>
> cron.daily디렉토리밑에 이파일을 넣고 실행시킬려고 합니다.
>
> #!/bin/sh
>
> cd ./dumpuser
> DATE=`date +%m%d`
> mkdir -p $DATE
> cd $DATE
>
> /usr/local/mysql/bin/mysql -e "show databases" -p'비번' | perl -e '@db=<STDIN>;shift @db;chomp @
> db;
> foreach $_ (@db) {
> system("/usr/local/mysql/bin/mysqldump -u root -p'비번' $_ > $_.dmp");
> system("gzip -f $_.dmp");
> }'
>
>
> 에러가 나는 내용은
>
> [root@www /root]# sh m.sh
> m.sh: syntax error near unexpected token `-p'비번'
> m.sh: m.sh: line 10: `system("/usr/local/mysql/bin/mysqldump -u root -p'비번' $_ > $_.dmp"); '
>
/usr/local/mysql/bin/mysql -e "show databases" -p'비번' | perl -e '@db=<STDIN>;shift @db;chomp @
db;
10번째 줄에서는 -u root 옵션이 있는데
위에서는 -u 옵션이 없군요..
혹시 mysql 슈퍼유저 비번설정이 안되어 있는지요...
일단은 스크립트상 database 명을 뽑아낸 후 해당 디비별로 백업을
하는데 위의 경우대로 한다면 database 명을 추출할 수 없어서
에러가 나는 듯 싶습니다.
아래와 같이 -u root 옵션을 준 후 실행해 보시기 바랍니다.
/usr/local/mysql/bin/mysql -u 'root' -e "show databases" -p'비번' | perl -e '@db=<STDIN>;shift @db;chomp @
db;
도움이 되었는지 모르겠네요...
>
> 이렇게 에러가 납니다.
>
>
> 어떻게 해야 좋을지 잘 모르겠습니다...갈켜 주시면 감사하겠습니다.^^
>
>
|