디지털콘텐츠 No.1 (주)아사달 호스팅
내정보 도메인 호스팅 디자인몰 솔루션몰 홈페이지몰 모바일 디자인센터 게임 고객지원
로그인 회원가입 장바구니 도메인정보조회

호스팅 사용법
호스팅 신청하기
도메인 연결하기
홈페이지 올리기
이메일 설정하기
서버 사용법
FTP사용법
메일사용법
텔넷/리눅스
MySQL사용법
MSSQL사용법
리눅스명령어 모음
시스템사용법
서버세팅
네트워크/보안
L4 매뉴얼
백업/미러링
호스팅용어 모음
프로그램 사용법
알리미사용법
제로보드설치방법
워드프레스설치방법
태터툴즈설치방법
그누보드설치방법
우편번호DB사용법
폼메일사용법
주문서사용법
예전 게시판/방명록
전자지불 서비스
우수회원할인


HOME > 호스팅 > 사용안내 > 백업/미러링 > 리눅스 서버 백업
리눅스 서버 백업  윈도우즈 서버 백업과 복원 작업  MSSQL DB 백업 
1) 홈백업 스크립트 사용 방법
- 아래 스크립트 중 수정할 부분을 서버설정에 맞도록 수정한다.(수정해야 할 부분에 밑줄로 표시해 두었음)
- 저장 후 실행권한(chmod 700 server_full_backup.pl)을 준다.
- crontab에 저장 후 원하는 시간에 실행되도록 설정한다.
2) 홈백업 스크립트의 특징
- 각 계정별로 백업 실행(홈 전체를 rsync 실행 시 부하가 발생하기 때문)
- 환경이 다른 시스템에 적용해도 간단하게 수정 가능
- 백업이 완료되면 백업 완료된 시점으로 백업 프로세스 로그 저장
############# Home full backup #############
#!/usr/bin/perl
$date_time = `date +%Y%m%d%H%M`;
chomp($date_time);
$server = `hostname`;
chomp($server);
############## 수정할 부분 ################
$backup_server_ip = "백업서버 아이피 지정";
$backup_server_dir = "백업서버 데이터 저장 디렉터리 지정";
@backup_dir_list = qw(/home);     # 백업받을 디렉터리 지정
@no_backup_dir_list = qw(. .. lost+found log logs);     # 백업받지 않을 디렉터리 지정
###########################################
open(BACKUP_CHECK, "> /tmp/$server.txt");
print BACKUP_CHECK "$date_time\n";
foreach $backup_dir (@backup_dir_list) {
chomp($backup_dir);
if(-d $backup_dir) {
foreach $df (`df -h`) {
chomp($df);
@df_list = split(' ', $df);
if($df_list[5] eq "$backup_dir") {
print BACKUP_CHECK "$backup_dir\t$df_list[2]\n";
}
}
opendir(BACKUP_DIR, "$backup_dir");
while($bak_dir = readdir(BACKUP_DIR)) {
chomp($bak_dir);
$no_backup_check = 0;
foreach $no_backup_dir (@no_backup_dir_list) {
chomp($no_backup_dir);
if($no_backup_dir eq $bak_dir) {
$no_backup_check = 1;
}
}
if($no_backup_check == 0) {
`rsync -zavg --delete $backup_dir/$bak_dir $backup_server_ip\::$backup_server_dir/$server`;
}
}
close BACKUP_DIR;
}
else {
print BACKUP_CHECK "$backup_dir\t디렉터리 없음!\n";
}
}
print BACKUP_CHECK "$date_time\n";
close BACKUP_CHECK;
`rsync -zavg /tmp/$server.txt $backup_server_ip\::$backup_server_dir/`;
unlink("/tmp/$server.txt");
##############################################################
1) DB 및 conf 백업 스크립트 사용 방법
- 아래 스크립트 중 수정할 부분을 서버설정에 맞도록 수정한다
- 저장 후 실행권한(chmod 700 server_conf_backup.pl)을 준다.
- crontab에 저장 후 원하는 시간에 실행되도록 설정한다.
2) DB 및 conf 백업 스크립트의 특징
- 백업된 데이터는 7일 후 자동 삭제됨.
- 환경이 다른 시스템에 적용해도 간단하게 수정 가능.
- 백업이 완료되면 백업 완료된 시점으로 백업 프로세스 로그 저장.
############# Mysql, conf backup ##############
######### 현재 날짜를 구한다. ###########
$date = `date +%Y%m%d`;
chomp($date);
$server = `hostname`;     # 서버명 자동 추출
chomp($server);
$tmp_dir = "임시 저장될 디렉터리 지정";
$mysql_root_pw = "DB 루트 암호";
$mysql_daemon = "/usr/local/mysql/bin";     # mysql 데몬 위치 지정
$mysql_data = &mysql_datadir;     # 함수 이용(MySQL data 디렉터리 추출)
$error_check = 0;
############ 관리자 설정 사항 ###########
$admin_email = "master\@abc.com";     # 관리자 이메일
$backup_server_ip_1st = "1차 백업 아이피 지정";     # 1차 백업
$backup_server_dir_1st = "1차 백업 디렉터리 지정";
$backup_server_ip_2st = "2차 백업 아이피 지정";     # 2차 백업
$backup_server_dir_2st = "2차 백업 디렉터리 지정";
$backup_list = "/usr/local/apache/conf /etc";     # 백업받을 목록 지정
#########################################
open(ERRORMAIL, "> /tmp/conf_backup_error_mail.txt");
print ERRORMAIL "$server 서버 환경 파일 백업에 실패하였습니다.\n\n";
if(-e "/etc/cron/backup_system/server_conf_backup/backup_server_ip.txt") {
open(BACKUPIPFILE, "/etc/cron/backup_system/server_conf_backup/backup_server_ip.txt");
$old_backup = < BACKUPIPFILE >;
chomp($old_backup);
close BACKUPIPFILE;
if($old_backup eq $backup_server_ip_1st) {
$backup_server_ip = $backup_server_ip_2st;
}
else {
$backup_server_ip = $backup_server_ip_1st;
}
}
else {
$backup_server_ip = $backup_server_ip_1st;
}
if($backup_server_ip eq $backup_server_ip_1st) {
$backup_server_dir = $backup_server_dir_1st;
}
elsif($backup_server_ip eq $backup_server_ip_2st) {
$backup_server_dir = $backup_server_dir_2st;
}
if(-d "$tmp_dir") {
;
}
else {
mkdir("$tmp_dir", 0700);
}
`rm -Rf $tmp_dir/mysql`;     # MySQL 백업 받기 전 저장될 디렉터리 초기화
`rm -Rf $tmp_dir/conf`;     # 환경 설정 파일 저장될 디렉터리 초기화
mkdir("$tmp_dir/mysql", 0700);     # MySQL 디렉터리 생성
mkdir("$tmp_dir/conf", 0700);     # 환경설정 디렉터리 생성
if(-d "$mysql_data") {
`tar -zcvpf $tmp_dir/mysql/$server\_mysql_$date\.tgz $mysql_data`;     # MySQL 자료 압축
}
else {
print ERRORMAIL "MySQL 백업에 실패하였습니다.\n압축에 실패하였습니다.\n";
$error_check = 1;
}
}
else {
print ERRORMAIL "MySQL Data 디렉터리를 찾지 못하였습니다.\n";
$error_check = 1;
}
############ 환경 설정 파일 압축하여 백업 서버로 이동 ############
`repquota -a > $tmp_dir/conf/quota.txt`;     # Quota 조사
`tar -zcvpf $tmp_dir/conf/$server\_conf_$date\.tgz $backup_list`;
if(-e "$tmp_dir/conf/$server\_conf_$date\.tgz") {
`rsync -zavg $tmp_dir/conf/$server\_conf_$date\.tgz $backup_server_ip\::$backup_server_dir/server_conf_backup`;
}
else {
print ERRORMAIL "CONF 파일 백업에 실패하였습니다.\n압축에 실패하였습니다.\n";
$error_check = 1;
}
close ERRORMAIL;
open(NEWBACKUPIPFILE, "> /etc/cron/backup_system/server_conf_backup/backup_server_ip.txt");
print NEWBACKUPIPFILE "$backup_server_ip";
close NEWBACKUPIPFILE;
if($error_check == 1) {
`mail -s "[긴급] $server 환경 설정 백업 실패" $admin_email < /tmp/conf_backup_error_mail.txt`;
}
unlink("/tmp/conf_backup_error_mail.txt");
##############################################################################
배경이미지
배경이미지 회사소개 사진모음 협력사 오시는 길 이용약관 개인정보취급방침 전화상담안내 게시판 문의 한국어 / 日本語 / 中文 / ENGLISH / 사이트맵 배경이미지
배경이미지
배경이미지 사이트명 : 아사달닷컴 | 회사명 : (주)아사달 | 대표이사 : 서창녕 | 대표전화 : 02-2026-2000 | 팩스번호 : 02-2026-2008
사업자등록번호 : 206-81-24351 | 법인등록번호 : 110111-1940504 | 통신판매업신고 : 제18-890호 | 벤처확인번호 : 051134532200563
(우편번호 : 08507) 서울시 금천구 가산디지털1로 168 우림라이온스밸리 A동 8층 (주)아사달
(우편번호 : 153-803) 서울특별시 금천구 가산동 371-28번지 우림라이온스밸리 A동 8층 (주)아사달
Copyright ⓒ asadal.com All rights reserved.
인터넷 익스플로어 구글 크롬 모질라 파이어폭스
애플 사파리 오페라 넷스케이프
맨위로
디지털콘텐츠 No.1 (주)아사달