리눅스 분류
crontab 자동백업하려고 하는데 안됩니다.
작성자 정보
- 김영수 작성
- 작성일
컨텐츠 정보
- 2,131 조회
- 7 댓글
- 0 추천
- 목록
본문
[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로 부여해주세요.
그럼 되실 것입니다.
cron으로 실행이 되는데 백업 데이터의 용량이 '0'이라면 딱 하나밖에 없습니다.
dbbackup.sh의 권한이 제대로 부여가 안되어 있어서 입니다.
chmod 777로 부여해주세요.
그럼 되실 것입니다.
박세우님의 댓글
- 박세우
- 작성일
혹시 /etc/cron.allow 파일이 있는지 ;; 그파일이 있으면 안에 root 를 넣어주시면
된다고 강좌에서 봤어요 ^^;
된다고 강좌에서 봤어요 ^^;
미늬님의 댓글
- 미늬
- 작성일
권한 777로 하지 않아도, dbbackup.sh 수정과 crontab 설정만 제대로 되어있다면
문제 없이 백업 될껀데요.
crontab 설정에 dbbackup.sh 설정이 되어있는지 확인필
문제 없이 백업 될껀데요.
crontab 설정에 dbbackup.sh 설정이 되어있는지 확인필
김영수님의 댓글
- 김영수
- 작성일
많은 답변 감사합니다.
777권한을 줬는데 여전히 안되욤 ㅠㅠ 용량크기가 0으로 나옵니다.
777권한주면~ 디비루트비밀번호 노출위험도 있어서 ㅠㅠ 에공
현재 박세우님이 남겨주신 거 테스트중입니다. 해보고 다시 남기겠습니다. ^^;
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
============================================================================================
아래에 님의 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
============================================================================================