DB 백업 스크립트 실행 오류
[스크립트 경로]
[root@cent2 backup]# pwd
/root/backup
[root@cent2 backup]#
[root@cent2 backup]# ls
db_backup.sh
[스크립트 파일 내용]
#!/bin/bash
## 변수 설정
HOST="$(/usr/bin/hostname)"
LOG="/tmp/backup.log"
PUSH="/root/monitor/telegram_example.sh"
DATE="$(/bin/date +%Y.%m.%d)"
# 백업할 디렉토리/파일 지정
BAK_LIST="/etc/my.cnf.d"
# 백업 디렉토리
BAK_PATH="/mnt/BACKUP/${HOST}"
# 백업 파일명
BAK_FILE="${BAk_PATH}/${DATE}_${HOST}.tgz"
# DB백업디렉토리
DB_BAK_PATH="/root/backup/xtrabackup_backupfiles"
# DB백업파일명
DB_BAK_FILE="${BAK_PATH}/${DATE}_${HOST}_DB.tgz"
## 스토리지에 마운트
/usr/bin/mount /mnt
## 로그파일 생성
/usr/bin/touch "${LOG}"
## 백업 디렉토리 확인
if [ -e "${BAK_PATH}" ]
then
# 백업디렉토리가 존재한다면
/bin/echo "백업디렉토리가 존재합니다."
else
/usr/bin/mkdir -p "${BAK_PATH}"
fi
## --- 로그기록 시작
{
/bin/echo
/bin/echo "===== 백업 시작 시각 : "
/bin/date
/bin/echo
## 백업
# DB dump
/usr/bin/mariabackup \
--backup \
--no-lock \
--target-dir="${DB_BAK_PATH}"
# DB apply logs
/usr/bin/mariabackup \
--prepare \
--target-dir="${DB_BAK_PATH}"
# p: 퍼미션 유지 P: 절대경로 유지
/usr/bin/tar czpPf "${BAK_FILE}" ${BAK_LIST}
# db백업 디렉토리 압축
/usr/bin/tar czpPf "${DB_BAK_FILE}" ${DB_BAK_PATH}
# 백업파일 정보
NAME="$(/usr/bin/ls -al "${BAK_FILE}" | awk '{print $9}')"
SIZE="$(/usr/bin/ls -al "${BAK_FILE}" | awk '{print $5}')"
/bin/echo "===== 백업파일 정보: "
/bin/echo " | 파일명 : ${NAME} "
/bin/echo " | 파일크기 : ${SIZE}Byte "
/bin/echo
# DB 백업파일 정보
NAME="$(/usr/bin/ls -al "${DB_BAK_FILE}" | awk '{print $9}')"
SIZE="$(/usr/bin/ls -al "${DB_BAK_FILE}" | awk '{print $5}')"
/bin/echo "===== DB 백업파일 정보: "
/bin/echo " | 파일명 : ${NAME} "
/bin/echo " | 파일크기 : ${SIZE}Byte "
/bin/echo
# 백업종료시각
/bin/echo
/bin/echo "===== 백업 종료 시각 : "
/bin/date
/bin/echo
}>|"${LOG}"
## --- 로그기록 끝
## 스토리지에 언마운트
/usr/bin/umount /mnt
## 텔레그램으로 백업 로그를 전송
"${PUSH}" "${HOST}" "$(/usr/bin/cat "${LOG}")"
## 로그파일 삭제
/usr/bin/rm -f "${LOG}"
[발생 에러]
[root@cent2 backup]#
[root@cent2 backup]# ./db_backup.sh
백업디렉토리가 존재합니다.
[00] 2023-10-17 13:55:08 Connecting to MySQL server host: localhost, user: not set, password: not set, port: not set, socket: not set
[00] 2023-10-17 13:55:08 Failed to connect to MySQL server: Access denied for user ''@'localhost' (using password:NO).
/usr/bin/mariabackup based on MariaDB server 10.3.35-MariaDB Linux (x86_64)
/usr/bin/mariabackup: Can't change dir to '/root/backup/xtrabackup_backupfiles/' (errno: 2 "No such file or directory")
[00] 2023-10-17 13:55:08 can't my_setwd /root/backup/xtrabackup_backupfiles/
/usr/bin/tar: /root/backup/xtrabackup_backupfiles: Cannot stat: No such file or directory
/usr/bin/tar: Exiting with failure status due to previous errors
[root@cent2 backup]#
[root@cent2 backup]#
에러가 발생하는데 어디를 수정해야할까요?
Answer 1
0
안녕하세요:)
에러로그를 보니 데이터베이스에 접속할 사용자 이름이 비어있어 mariadb에 접속을 못해 생기는 문제인 것 같습니다.
다음과 같이 DB dump부분에 --user root 를 추가해주세요.
# DB dump
/usr/bin/mariabackup \ --backup \ --user root \
--no-lock \
--target-dir="${DB_BAK_PATH}"
텔레그램 봇 메세지 전송기능을 여러 서버에 이용하려면
0
132
2
컨테이너에서 다른 컨테이너 접속시
0
95
2
실습 주소에 172.18.1.91를 접속하니 접속이 되지 않습니다
0
113
2
atlassian 접속이 안됩니다
0
177
2
docker 컨테이너로 가상환경 구축 시 init.sh 관련 에러 로그
0
221
2
백업 쉘스크립트 3 질문있어요
0
113
1
telegram 문자보내기 오류
0
195
1
2-2 초기 셋팅 질문드려요!
0
324
3
Linux top 커맨드에 대한 질문
0
151
1
2-0. 진행 후 웹사이트 접속이 안됩니다.
0
308
2
커리큘럼-강의교안
0
304
3
web_backup.sh 실행 시 mount.nfs No host to mount
0
367
1
환경설정 압축파일 해제 불가
0
310
1
SecureCRT 접속 오류
0
819
1
강의에서 로그를 쌓게 하는 vws.tmpcompany.com 이제 접속이 안되는건가요?
0
383
1
강의에서 보여주시는 컨플이나 자료 따로 있을까요?
0
318
1
vagrant up 명령어 실행시
1
376
1
vagrant ssh 접속 에러
0
554
2
서버 구축시 문제 발생
0
450
2
버츄얼박스 설치에러
0
308
1
스크립트 실행 결과 미표시
0
302
1
맥북 지원
0
371
1
[해결방법] 네트워크 어댑터 에러 메시지
1
395
2
실습환경 공지사항 8-1 네트워크 에러 질문 드립니다.
0
380
2

