조회 수 749 추천 수 1 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
라이선스 MIT
#!/bin/bash

# Copyright (C) 2017 Study For Us HOSTING (https://hosting.studyforus.com)
# Version infomation : 0.1.1 (Early version)
# License : The MIT License (MIT)

# Local Backup Vars Setting 
BACKUP_DIR='/backup'
BACKUP_EXPIRE_DAYS=14
DB_BACKUP_DIR_NAME="databases"
DB_HOST='DB접속주소'
DB_USER='DB사용자'
DB_PASSWORD='DB암호'

# Backup Date Setting
DN=`date +%Y-%m-%d`
FN=`date +%Y%m%d"_"%H%M%S`

# Messages For Starting Backup
echo "--------------------------------------------------------------------"
echo "                 Study For Us BACKUP Scheduler                      "
echo "                      Veresion 0.1.1                                "
echo "              License : The MIT License (MIT)                       "
echo "--------------------------------------------------------------------"
echo ""
echo "Making DB BACKUP Directory (today).."


# Making DB Backup Directory
mkdir -p $BACKUP_DIR/$DB_BACKUP_DIR_NAME/$DN

echo "done."
echo ""
echo "Delete backup directory older than $BACKUP_EXPIRE_DAYS days.."

# Delete backup directory older than Expire Days
find $BACKUP_DIR/$DB_BACKUP_DIR_NAME/ -maxdepth 1 -type d -mtime +$BACKUP_EXPIRE_DAYS -exec rm -rf {} \;

echo "done."
echo ""
echo "Backup all DBs as each DB files in $BACKUP_DIR/$DB_BACKUP_DIR_NAME/$DN .."

# Getting Information DB Lists
DB_LIST=$(mysql -u $DB_USER --password=$DB_PASSWORD -h $DB_HOST -e "SHOW DATABASES;" --skip-column-names | grep -Ev "(information_schema|performance_schema)")

# DB Backup Start
for db in $DB_LIST;
do mysqldump -u $DB_USER --password=$DB_PASSWORD -h $DB_HOST --opt --single-transaction  -e $db | gzip > "$BACKUP_DIR/$DB_BACKUP_DIR_NAME/$DN/$db-$FN.sql.gz";
done

echo "done."
echo ""
echo "Now Start BACKUP /var/ Directory By Rsnapshot.."
echo "(Contain creating new backup files and removing older backup files)"

# Rsnapshot Backup Start
rsnapshot daily
echo ""
echo ""
echo "ALL DONE. BACKUP COMPLETE."

 

 

현재 세린서버에서 사용중인 백업 소스 입니다.

 

 

sh 명령어들로 구성했기 때문에 리눅스 머신에서만 사용 가능합니다.

 

모든 DB를 각자 파일로 백업 및 웹 폴더를 백업하고 있습니다.

rsnapshot이라는 프로그램을 이용해서 증분백업을 하고 있습니다.

 

보조로 리눅스 머신을 사용하고 Study For Us 에서 백업을 원하는 분들은 이렇게 구성하셔도 도움 될 것 같습니다.

  • ?
    맛수타 2017.10.08 12:27
    앗! 세린 아직도 백업용으로 쓰나요?
    없어진 줄 알았는데 ㅎ
  • ?
    도토리묵 2018.12.28 11:50
    호! backup.sh 식으로 하면 되려나요?
  • profile
    NoYeah 2018.12.28 23:00
    저장은 backup.sh 로 하고

    실행할때는 위에 파일이 있는 경로에서
    ./backup.sh 로 실행하시면 됩니다.
  • ?
    도토리묵 2018.12.29 06:32
    감사합니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
43 코드 내가 만든 사칙연산 계산기 title: 대한민국 국기gimmepoint 2018.05.11 516
42 코드 내가 만든 함수 모음집 2 title: 대한민국 국기gimmepoint 2018.05.12 382
41 코드 매우 특이한 버그 9 title: 대한민국 국기gimmepoint 2018.06.05 571
40 코드 잘못 쓰면 컴퓨터가 날아가는 코드 29 제르엘 2018.07.08 966
39 코드 폰트를 자동 설치하는 코드 1 네모 2018.07.16 836
38 코드 C언어 삼중자를 이용한 코드 title: 황금 서버 (30일)humit 2018.07.22 411
37 코드 파이선 셸에서 실행하면...? 3 제르엘 2018.07.22 500
36 코드 [Python] 모 정부기관 사이트 파싱 후 PC 통신처럼 열람하고 싶은 게시글 번호를 입력하면 내용을 보여주는 소스 (허접) 4 이니스프리 2018.09.14 559
35 코드 [오토핫키] 특정 사이트에 대한 ping 테스트 결과를 실행시간과 함께 로그 파일로 저장하는 스크립트 2 이니스프리 2018.09.22 1929
34 코드 [오토핫키] 구글 드라이브의 공유링크를 이미지 호스팅을 위한 다이렉트 링크로 바꿔주는 스크립트 10 file 이니스프리 2018.09.25 1684
33 코드 [PHP] 기상청 중기예보를 캐러셀로 보여주는 위젯 (매우 허접합니다 ㅠㅠ) 10 file 이니스프리 2018.09.28 651
32 코드 [오토핫키] 브라우저를 열어 지난번과 동일한 폴더에 MZK를 다운받고 압축을 네이티브로 해제하는 스크립트 file 이니스프리 2018.10.20 845
31 코드 [PHP] 기상청 RSS 시간별 예보 위젯 - cache 적용(?) 9 file 이니스프리 2018.10.28 856
30 코드 [PHP] 그누보드 자동 게시글 작성 - 일본기상협회의 우리나라 날씨를 크롤링한 후 파파고로 번역하여 글 작성 4 file 이니스프리 2018.11.15 661
29 코드 [아미나] 게시글을 작성하면 ID와 IP로 필터링하여 자동으로 랜덤 댓글을 남기기 (+랜덤 포인트) 7 file 이니스프리 2018.11.18 638
28 코드 [Python] 텔레그램을 이용한 게시판 새 글 알림봇 7 이니스프리 2018.12.02 3605
27 코드 [PHP] 간단한 캐싱 클래스 3 title: 황금 서버 (30일)humit 2018.12.06 607
26 코드 [아미나] 출석 여부를 나타내는 메인화면 위젯 4 file 이니스프리 2018.12.15 672
25 코드 [아미나] 네이트 실시간 검색어 순위 위젯 (아미나 캐시 적용) 3 file 이니스프리 2018.12.18 983
24 코드 [PHP] 이미지를 원하는 크기(원본비율 유지)로 리사이즈 하여 출력 (원본 이미지는 수정하지 않습니다) 6 이니스프리 2018.12.20 7719
Board Pagination Prev 1 2 3 4 Next
/ 4