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
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
17 |
웹 백업 (쉘 스크립트)
![]() | 2018.10.14 | 1340 |
» |
mysql 백업 (shell script)
![]() | 2018.10.14 | 802 |
15 | munin 설치 | 2018.10.13 | 974 |
14 | 유닉스 계정 관리 | 2013.10.15 | 14831 |
13 | 솔라리스 mount options | 2013.10.06 | 15582 |
12 | 솔라리스 디렉토리 | 2013.10.06 | 14419 |
11 |
Linux Memory 사용량
![]() | 2012.05.16 | 25266 |
10 |
Linux 설치시 파티션 관리
![]() | 2012.05.12 | 19441 |
9 |
SSL 설치 (Apache)
[1] ![]() | 2012.04.19 | 13033 |
8 |
계정 자동 생성
[2] ![]() | 2012.04.15 | 10932 |
7 |
CentOS 6.2 다운로드 / 설치
[1] ![]() | 2012.04.15 | 17251 |
6 | ssh 로그인 제한 | 2011.04.05 | 16785 |
5 | 리눅스 계정 생성/변경 [67] | 2011.04.02 | 29353 |
4 |
ftp
![]() | 2010.07.23 | 15671 |
3 |
리눅스 자동 시작
![]() | 2010.05.21 | 16090 |
2 |
putty
![]() | 2010.05.21 | 13643 |
1 |
VPS (가상 호스팅) 비교
![]() | 2010.05.12 | 62366 |