unix mysql 백업 (shell script)

2018.10.14 08:39

엘카 조회 수:697

#!/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

번호 제목 날짜 조회 수
21 Table 태그 file 2010.05.23 4443
20 포커스 요소의 테두리와 웹 접근성 file 2010.05.23 4182
19 리눅스 자동 시작 file 2010.05.21 15895
18 putty file 2010.05.21 13465
17 php 에서 파일 권한 설정 2010.05.21 4594
16 list-style file 2010.05.21 5155
15 jQuery 쿠키 file 2010.05.19 5021
14 php 쿠키 생성, 읽기 file 2010.05.19 7105
13 php 에서 텍스트 파일을 생성, 수정하기 file 2010.05.19 9926
12 파일 불러오기 file 2010.05.17 5475
11 php 암호화와 복호와 file 2010.05.17 7314
10 php 현재 시각 출력하기 file 2010.05.17 4459
9 html 파일에서 php 구문 숨기기 file 2010.05.17 6861
8 검색엔진 등록 file 2010.05.12 142341
7 VPS (가상 호스팅) 비교 file 2010.05.12 62201
6 sAPM file 2010.05.12 20261
5 Lighttpd 설치 file 2010.05.11 20679
4 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18249
3 PHP 설치 file 2010.05.11 15057
2 Apache 설치 file 2010.05.11 16658