728x90
1. MySQL / MariaDB 덤프 파일 Backup 디렉토리 생성
DataBase 백업 쉘 스크립트를 실행할 유틸티티( utility ) 디렉토리를 생성한다.
$ sudo mkdir /home/utility
$ ls /home -al
drwxr-xr-x. 5 root root 49 7월 26 18:21 .
dr-xr-xr-x. 17 root root 224 7월 26 16:23 ..
drwxr-xr-x. 3 root root 60 7월 26 17:55 utility
utility 디렉토리아래 database_backup 디렉토리를 추가한다.
$ sudo mkdir /home/utility/database_backup
$ ls /home/utility -al
drwxr-xr-x. 3 root root 60 7월 26 17:55 .
drwxr-xr-x. 5 root root 49 7월 26 18:21 ..
drwxr-xr-x. 2 root root 4096 7월 26 17:55 mariadb_backup
2. 백업 Shell Script 작성 및 실행
먼저 MySQL / MariaDB 데이터 베이스를 백업하는 쉘 스크립트를 작성한다.
$ sudo vim /home/utility/database_backup_script.sh
『 database_backup_script.sh 』 라는 이름의 쉘 스크립트를 생성한다.
#!/bin/bash
# 날짜 포맷
NowTime=$(date +%Y%m%d%H%M)
# home 디렉토리 경로
HomeDirPath="/home"
# DataBase 백업 디렉토리 경로
BackDirPath="/home/utility/database_backup"
# mysqldump 덤프 파일(*.sql) 생성
# mysqldump -u사용자_계정 -p사용자_비밀번호 데이터베이스_이름 > 백업_디렉토리_경로/"데이터베이스_이름_"날짜_포맷.sql
mysqldump -usaakmiso -p1q2w3e example_database > ${BackDirPath}/"example_database_"${NowTime}.sql
mysqldump -uwicked -p1q2w3e magicworkshop_database > ${BackDirPath}/"magicworkshop_database_"${NowTime}.sql
# DB 백업 파일 -15일 경과 후 삭제
find ${BackDirPath} -type f -name "*.sql" -mtime +15 -exec rm -f {} \;
위 『 database_backup_script.sh 』 쉘 스크립트는
지정한 2개의 데이터 베이스에 대하여 mysqldump 명령을 사용하여
*.sql 확장자를 사용하는 덤프 파일을 만들고 /home/utiltiy/database_backup 디렉토리에 저장한다.
이후 15일이 경과되면 /home/utiltiy/database_backup 경로에 존재하는 15일 이전에 생성된 *.sql 파일을 삭제한다.
이제 작성한 『 database_backup_script.sh 』 파일을 실행한다.
$ sudo bash /home/utility/database_backup_script.sh
쉘 스크립트를 실행 하였다면 데이터베이스의 덤프(*.sql)파일이 잘 생성 되었는지 확인해보자.
$ ls /home/utility/database_backup/ -al
drwxr-xr-x. 2 root root 238 7월 26 18:57 .
drwxr-xr-x. 4 root root 84 7월 26 18:57 ..
-rw-r--r--. 1 root root 4501 7월 26 18:57 첫번째_데이터베이스_YYYYMMDDHHMM.sql
-rw-r--r--. 1 root root 3439 7월 26 18:57 두번째_데이터베이스_YYYYMMDDHHMM.sql
위와 같이 데이터베이스_YYYYMMDDHHMM.sql 파일이 생성된 것을 확인 할 수 있다.
3. Cron을 사용하여 반복 수행 설정
먼저 크론 탭 입력창을 오픈한다.
$ sudo crontab -e
매일 자정에 데이터베이스 백업 작업을 반복 수행한다.
# 매일 자정에 DataBase 백업 Shell Script 실행
0 0 * * * /bin/bash /home/utility/database_backup_script.sh
이후 자정이 지나고 database 백업이 잘 진행되었는지 확인해보자
$ ls /home/utility/database_backup/ -al
합계 28
drwxr-xr-x. 2 root root 223 7월 31 22:32 .
drwxr-xr-x. 4 root root 84 7월 26 18:57 ..
-rw-r--r--. 1 root root 4501 7월 29 00:00 example_database_202307290000.sql
-rw-r--r--. 1 root root 3439 7월 29 00:00 magicworkshop_database_202307290000.sql
위와 같이 00:00분에 작업이 덤프파일이 생성된 것을 확인 할 수 있을 것이다.
728x90
'LINUX > CentOS' 카테고리의 다른 글
[CentOS7] 사용자 계정 생성 및 Directory 만들기 (0) | 2023.07.31 |
---|---|
[Linux] MariaDB 설치 및 세팅 (6) | 2023.02.23 |
[Linux] CentOS7 - HTTPS 접속을 위한 Apache 웹 서버의 Mod_Proxy 설정 (0) | 2022.11.15 |
[Linux] CentOS7 - GIT을 이용한 버전관리 시스템 구축 (0) | 2021.07.04 |
[Linux] CentOS7 - Java Web 서버 - Oracle 설치 및 설정 (0) | 2021.07.04 |