unix mysql 백업 (shell script)
2018.10.14 08:39
#!/bin/bash # Simple script to backup MySQL databases # Parent backup directory backup_parent_dir="/root/backup" # MySQL settings mysql_user="root" mysql_password="" # Read MySQL password from stdin if empty if [ -z "${mysql_password}" ]; then echo -n "Enter MySQL ${mysql_user} password: " read -s mysql_password echo fi # Check MySQL password echo exit | mysql --user=${mysql_user} --password=${mysql_password} -B 2>/dev/null if [ "$?" -gt 0 ]; then echo "MySQL ${mysql_user} password incorrect" exit 1 else echo "MySQL ${mysql_user} password correct." fi # Create backup directory and set permissions #backup_date=`date +%Y_%m_%d_%H_%M` backup_date=`date +%Y%m%d-%H%M` #backup_dir="${backup_parent_dir}/${backup_date}" backup_dir="${backup_parent_dir}" echo "Backup directory: ${backup_dir}" mkdir -p "${backup_dir}" chmod 700 "${backup_dir}" # Get MySQL databases mysql_databases=`echo 'show databases' | mysql --user=${mysql_user} --password=${mysql_password} -B | sed /^Database$/d` # Backup and compress each database for database in $mysql_databases do if [ "${database}" == "information_schema" ] || [ "${database}" == "performance_schema" ] || [ "${database}" == "mysql" ]; then # 기본 경로는 백업하지 않기로 additional_mysqldump_params="--skip-lock-tables" continue else additional_mysqldump_params="" fi echo "Creating backup of \"${database}\" database" mysqldump ${additional_mysqldump_params} --user=${mysql_user} --password=${mysql_password} ${database} | gzip > "${backup_dir}/${backup_date}_${database}.sql.gz" chmod 600 "${backup_dir}/${backup_date}_${database}.sql.gz" done
굿
링크 원본: {백업경로}/{백업날짜}/{DB}.gz
내 수정본: {백업경로}/{백업날짜}.sql.gz
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
81 | 검색엔진 등록 | 2010.05.12 | 142340 |
80 | VPS (가상 호스팅) 비교 | 2010.05.12 | 62200 |
79 | 마인크래프트 조합법 1 | 2011.04.01 | 38355 |
78 | CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] | 2012.04.15 | 30239 |
77 | 리눅스 계정 생성/변경 [67] | 2011.04.02 | 29125 |
76 | Linux Memory 사용량 | 2012.05.16 | 24981 |
75 | CentOS 6 - MySQL 5.5 설치 [1] | 2012.04.15 | 21695 |
74 | Lighttpd 설치 | 2010.05.11 | 20677 |
73 | sAPM | 2010.05.12 | 20260 |
72 | php + ssh2 | 2010.06.05 | 20197 |
71 | Linux 설치시 파티션 관리 | 2012.05.12 | 19203 |
70 | Zend Optimizer + eAccelerator + Suhosin | 2010.05.11 | 18247 |
69 | MySQL 설치 | 2010.05.11 | 17278 |
68 | CentOS 6.2 다운로드 / 설치 [1] | 2012.04.15 | 17027 |
67 | Apache 설치 | 2010.05.11 | 16656 |
66 | ssh 로그인 제한 | 2011.04.05 | 16467 |
65 | 리눅스 자동 시작 | 2010.05.21 | 15892 |
64 | ftp | 2010.07.23 | 15441 |
63 | 솔라리스 mount options | 2013.10.06 | 15318 |
62 | PHP 설치 | 2010.05.11 | 15056 |