
mysqldump를 사용한 MySQL 백업mysqldump 명령어는 MySQL 데이터베이스의 백업을 생성할 수 있는 기본적인 명령어이다.
mysqldump -u username -p database_name > backup.sql
-u username: MySQL 사용자 이름
-p: 비밀번호 입력을 요청한다. 비밀번호는 명령어 뒤에 입력하지 않는다. 실행 후 비밀번호를 입력하면 된다.
database_name: 백업하려는 데이터베이스의 이름
backup.sql: backup.sql이라는 파일로 백업을 저장한다.
cron을 이용한 자동화리눅스 서버에서는 cron을 사용하여 정기적으로 백업을 자동으로 수행할 수 있다.
/home/vkflco08/backup.sh라는 스크립트를 만들고, MySQL 데이터베이스를 백업하도록 작성할 수 있다.# MySQL 사용자명, 비밀번호, 백업할 데이터베이스명 설정
USER="root"
PASSWORD="your_password"
DATABASE="my_database"
# 백업할 경로 설정
BACKUP_DIR="/home/vkflco08/backup"
DATE=$(date +"%Y%m%d%H%M%S")
# 백업 파일명 설정
BACKUP_FILE="$BACKUP_DIR/${DATABASE}_backup_$DATE.sql"
# MySQL 데이터베이스 백업
mysqldump -u $USER -p$PASSWORD $DATABASE > $BACKUP_FILE
# 백업 성공 여부 확인
if [ $? -eq 0 ]; then
echo "Backup successful!"
else
echo "MySQL backup failed. Error signal: $?"
fi
# 백업 완료 알림 (옵션)
echo "Backup completed for $DATABASE at $DATE" | mail -s "MySQL $DATABASE Database Backup Completed" vkflco8080@gmail.com
# backup.sh실행
chmod +x /home/vkflco08/backup.sh
cron 작업 설정: crontab을 이용하여 매일 백업을 자동으로 실행되도록 설정할 수 있다.
나는 매일 자정에 백업을 실행하기 위해 cron에 다음과 같이 추가했다.
crontab -e
0 0 * * * /home/vkflco08/backup.sh
위 설정은 매일 자정(00:00)에 /home/vkflco08/backup.sh 스크립트를 실행하게 된다.
$ /home/vkflco08/backup.sh

/home/vkflco08/backup 안에 정상적으로 백업되는 것을 확인했다.