unix mysql 백업 (shell script)
2018.10.14 17: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
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
72 |
net::ERR_CONNECTION_REFUSED
![]() | 2021.10.11 | 0 |
71 |
php-fpm tcp to socket
![]() | 2020.01.26 | 0 |
70 | netdata 이용한 centos 모니터링 | 2020.01.26 | 1823 |
69 |
vmware with centos 7
![]() | 2019.08.23 | 0 |
68 | xe 에디터 컴포넌트 트리거 제거 | 2019.05.16 | 9763 |
67 |
my.cnf
![]() | 2019.04.11 | 1 |
66 | certbot apache multiple domain | 2019.04.10 | 1288 |
65 |
yum install latest redis
![]() | 2019.03.27 | 1647 |
64 | yum install php-apcu | 2019.03.12 | 1504 |
63 |
웹 백업 (쉘 스크립트)
![]() | 2018.10.14 | 1171 |
» |
mysql 백업 (shell script)
![]() | 2018.10.14 | 678 |
61 | munin 설치 | 2018.10.13 | 776 |
60 | yum install php 7.1 [6] | 2018.10.10 | 679 |
59 | yum install mariadb [2] | 2018.10.10 | 1137 |
58 |
위젯 많은 페이지 - 부하 분산으로 속도 향상하기
![]() | 2014.12.12 | 8537 |
57 | 간단하고 강력한 xe 보안 향상 | 2014.11.09 | 1854 |
56 |
XE Core 최적화 - html/js/css
![]() | 2014.11.08 | 2161 |
55 | 스패머 알려주는 사이트 | 2014.09.11 | 2441 |
54 | 75mb 페이지에 lazy load 적용해보기 | 2014.09.03 | 2594 |
53 | date — 로컬 날짜/시간을 형식화합니다 | 2014.07.03 | 2601 |