질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

crontab 자동백업하려고 하는데 안됩니다.

작성자 정보

  • 김영수 작성
  • 작성일

컨텐츠 정보

본문

[root@homhard backup]# pwd
/backup
[root@homhard backup]# vi dbbackup.sh

#!/bin/bash
DIR=/backup
FILE=alldb

DATE=$(date +%Y%m%d)
#rm -rf $BACKUP_DIR/$FILE_PFX-*.sql

mysqldump -uroot -pxxxxxx --all-databases > $DIR/$FILE-$DATE.sql
~
~
~
~
~
~
~
"dbbackup.sh" 15L, 335C

[root@homhard backup]# crontab -l
08 22 * * *  /backup/dbbackup.sh
[root@homhard backup]#
[root@homhard backup]# ll
합계 87060
-rw-r--r-- 1 root root        0  2월 23 22:22 alldb_20070223.sql
-rwxr-xr-x 1 root root      335  2월 23 22:02 dbbackup.sh
[root@homhard backup]#


위와 같이 하면 0 바이트로 백업이 됩니다.
도무지 모르겠어욤 ㅠㅠ 이거 하루웬종일 찾다 여기다 남깁니다  ㅠㅠ... 울고시퍼요~ㅠㅠ

[root@homhard backup]# ./dbbackup.sh
 이렇게 실행하면 또 정상으로 백업이 되요 ㅠㅠ;;;; 이게 왜 그러는지 미치겠음돠 ㅠㅠ;;;;;;

ㅠㅠ.....

 

관련자료

댓글 7

배준태님의 댓글

  • 배준태
  • 작성일


/usr/local/mysql/bin/mysqldump > /backup-sys/$nal/mysqlbackup-$nal.dmp --all-database -u root -pxxxxxxxxxx

예제로 하나 올립니다.

이재환님의 댓글

  • 이재환
  • 작성일
스크립터 문장이 실행이 된다면 이상은 없을 듯 하네요
cron으로 실행이 되는데 백업 데이터의 용량이 '0'이라면 딱 하나밖에 없습니다.
dbbackup.sh의 권한이 제대로 부여가 안되어 있어서 입니다.
chmod 777로 부여해주세요.
그럼 되실 것입니다.

박세우님의 댓글

  • 박세우
  • 작성일
혹시 /etc/cron.allow 파일이 있는지 ;; 그파일이 있으면 안에 root 를 넣어주시면
된다고 강좌에서 봤어요 ^^;

미늬님의 댓글

  • 미늬
  • 작성일
권한 777로 하지 않아도, dbbackup.sh 수정과 crontab 설정만 제대로 되어있다면
문제 없이 백업 될껀데요.

crontab 설정에 dbbackup.sh 설정이 되어있는지 확인필

김영수님의 댓글

  • 김영수
  • 작성일
많은 답변 감사합니다.
777권한을 줬는데 여전히 안되욤 ㅠㅠ 용량크기가 0으로 나옵니다.
777권한주면~ 디비루트비밀번호 노출위험도 있어서 ㅠㅠ 에공

현재 박세우님이 남겨주신 거 테스트중입니다. 해보고 다시 남기겠습니다. ^^;

김영수님의 댓글

  • 김영수
  • 작성일
/etc/cron.allow  <- 이 파일은 없네요 ~!!! ㅠㅠ

이홍선님의 댓글

  • 이홍선
  • 작성일
제가 하는거 올려볼께요
아래에 님의 ip를 써도 되고 다른이름 써도 됩니다.
그리고 백업받을 경로 써주시고 없으면 생성하시면 되고요
중간쯤에 123456 이라는부분 님의 mysql root 패스워드 를 적어주세요

$ vi /etc/mysql.sh
============================================================================================
#!/bin/sh
server_name="222.222.222.222"
mysql_bin="/usr/local/mysql/bin"
mysqldb_root="/usr/local/mysql/data"
backupdb_root="/home/naver/backup"
dir_name="$(date +%y%m%d%H%M)"
if [ ! -d $mysqldb_root ] ; then
echo "데이타베이스 위치를 입력해 주세요"
fi
if [ ! -d $backupdb_root ] ; then
echo "데이타 베이스 백업 공간을 만듭니다"
echo "mkdir -p $backupdb_root "
mkdir -p $backupdb_root
fi
if [ -d "$backupdb_root/$server_name.$dir_name" ]; then
echo "디렉토리가 존재합니다"
rm -rf "$backupdb_root/$server_name.$dir_name"
exit
else
echo "디렉토리를 생성합니다"
mkdir "$backupdb_root/$server_name.$dir_name"
fi
for db_name in $(ls $mysqldb_root)
do
if [ -d "$mysqldb_root/$db_name" ] ; then
echo "$db_name DB를 백업 중입니다"
$mysql_bin/mysqldump -uroot -p123456 --default-character-set=euckr $db_name >> $backupdb_root/$server_name.$dir_name/$db_name.sq
l
fi
done
cd $backupdb_root
echo "백업된 DB를 압축합니다"
tar -cvzf "$server_name.$dir_name.tar.gz" "$server_name.$dir_name"
if [ -d "$backupdb_root/$server_name.$dir_name" ]; then
rm -rf "$backupdb_root/$server_name.$dir_name"
fi
let "i = 0"
for dname in $(ls -t $backupdb_root)
do
let " i = i + 1"
if [ $i -ge "11" ]; then
if [ -f "$backupdb_root/$dname" ]; then
rm -f $backupdb_root/$dname
fi
fi
done

============================================================================================

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  640 명