출처 : kltp.kldp.org
워낙에 설명이 잘 되어 있어서 다른 설명은 필요하지 않을것 같습니다. size가 큰 파일들 백업할시 유용하게 사용할수 있을것 같네요.
#!/bin/sh
################# 개요 ##################
# 인자로 들어온 server1의 특정 db를 백업한다
# 인자가 생략되면 db1 이다.
# split로 분할 압축후 server2의 /home/myid/db_backup 에 ftp로 전송한다
# 파일명 : 'db명'_'날짜'_'aa' , 'ab' ...
######################################
############### 필요한 변수들 #############
# host : 백업될 서버
# username : ftp로 접속할 id
# password : 비번
# db_name : server1의 db명
# mysql_dir : mysql 데이터 디렉토리
# backup_dir : server1의 분할압축된 파일이 놓일 임시 디렉토리
# today_date : 오늘날짜 (파일명에 사용됨)
# size : 한 조각의 크기
#####################################
host='server2.test.com'
username='myid'
password='mypasswd'
db_name=${1:-db1}
mysql_dir='/home/mysql/data/'
backup_dir='/tmp/pieces/'
today_date=`date +%Y%m%d`
size='650m'
# 기존에 만들어진 파일들을 없앤다
# /tmp/pieces 로 이동후 원하는 db 디렉토리를 분할압축 한다.
# ftp로 server2 의 /home/foremost/db_backup 으로 옮긴다.
echo '[`date +%Y-%m-%d\ %T`] $db_name backup Start !!!'
if [ -d '$backup_dir' ]; then
rm -f ${backup_dir}*
fi
cd $backup_dir
tar cf - ${mysql_dir}${db_name} | bzip2 -c | split -b $size - ${db_name}_${today_date}_
{
echo user $username $password
echo cd /home/myid/db_backup
echo lcd /tmp/pieces
echo prompt
echo mput *
echo quit
} | ftp -n $host 21
echo '[`date +%Y-%m-%d\ %T`] $db_name backup End !!!'
exit 0
# 1G 용량의 db를 백업하는데 약 20여분이 소요되더군요.
# bzip2 대신 gzip을 사용하면 좀더 빨라지지 않을까 싶습니다.
워낙에 설명이 잘 되어 있어서 다른 설명은 필요하지 않을것 같습니다. size가 큰 파일들 백업할시 유용하게 사용할수 있을것 같네요.
#!/bin/sh
################# 개요 ##################
# 인자로 들어온 server1의 특정 db를 백업한다
# 인자가 생략되면 db1 이다.
# split로 분할 압축후 server2의 /home/myid/db_backup 에 ftp로 전송한다
# 파일명 : 'db명'_'날짜'_'aa' , 'ab' ...
######################################
############### 필요한 변수들 #############
# host : 백업될 서버
# username : ftp로 접속할 id
# password : 비번
# db_name : server1의 db명
# mysql_dir : mysql 데이터 디렉토리
# backup_dir : server1의 분할압축된 파일이 놓일 임시 디렉토리
# today_date : 오늘날짜 (파일명에 사용됨)
# size : 한 조각의 크기
#####################################
host='server2.test.com'
username='myid'
password='mypasswd'
db_name=${1:-db1}
mysql_dir='/home/mysql/data/'
backup_dir='/tmp/pieces/'
today_date=`date +%Y%m%d`
size='650m'
# 기존에 만들어진 파일들을 없앤다
# /tmp/pieces 로 이동후 원하는 db 디렉토리를 분할압축 한다.
# ftp로 server2 의 /home/foremost/db_backup 으로 옮긴다.
echo '[`date +%Y-%m-%d\ %T`] $db_name backup Start !!!'
if [ -d '$backup_dir' ]; then
rm -f ${backup_dir}*
fi
cd $backup_dir
tar cf - ${mysql_dir}${db_name} | bzip2 -c | split -b $size - ${db_name}_${today_date}_
{
echo user $username $password
echo cd /home/myid/db_backup
echo lcd /tmp/pieces
echo prompt
echo mput *
echo quit
} | ftp -n $host 21
echo '[`date +%Y-%m-%d\ %T`] $db_name backup End !!!'
exit 0
# 1G 용량의 db를 백업하는데 약 20여분이 소요되더군요.
# bzip2 대신 gzip을 사용하면 좀더 빨라지지 않을까 싶습니다.
'Tip OS/Util' 카테고리의 다른 글
프로그램을 데몬처럼 실행하고 싶을 때 (0) | 2007.01.11 |
---|---|
즐겨찾기 로컬경로 고정 스크립 reg파일로 저장! (0) | 2006.07.29 |
익스플로러 새창 열리는 사이즈 고정시키기~ (0) | 2006.07.16 |
광고도메인 제거 C:\WINDOWS\system32\drivers\etc\hosts (0) | 2006.07.13 |
윈도우 권한문제....;; (0) | 2006.03.06 |