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
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
21 | 간단하고 강력한 xe 보안 향상 | 2014.11.08 | 1866 |
20 | yum install latest redis | 2019.03.27 | 1682 |
19 | yum install php-apcu | 2019.03.12 | 1542 |
18 | certbot apache multiple domain | 2019.04.10 | 1416 |
17 | 웹 백업 (쉘 스크립트) | 2018.10.14 | 1194 |
16 | yum install mariadb [2] | 2018.10.10 | 1143 |
15 | munin 설치 | 2018.10.13 | 787 |
» | mysql 백업 (shell script) | 2018.10.14 | 697 |
13 | yum install php 7.1 [6] | 2018.10.10 | 687 |
12 | mysqldump from remote db to my local server. | 2023.05.04 | 421 |
11 | php 에서 비동기 처리하는 방법 | 2023.06.22 | 289 |
10 | apache2 AllowOverride config | 2023.05.23 | 279 |
9 | gearman 은 무엇인가? | 2023.06.21 | 271 |
8 | windows hardware encrypt ssd | 2024.01.23 | 207 |
7 | The best configuration of php7.4-fpm / 8GB | 2023.05.04 | 23 |
6 | The best configuration of php7.4-fpm / 1.5GB | 2023.05.04 | 23 |
5 | To download large files with rsync command. | 2023.05.04 | 21 |
4 | my.cnf | 2019.04.11 | 1 |
3 | net::ERR_CONNECTION_REFUSED | 2021.10.11 | 0 |
2 | php-fpm tcp to socket | 2020.01.25 | 0 |