조회 수 745 추천 수 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
    감사합니다.

  1. 세린서버에서 시도중인 백업 스크립트 입니다.

  2. AdminLTE용 에디터 스타일

  3. [PHP/Javascript] 아미나에 자동으로 게시글을 생성하고 Ajax로 전송하여 결과를 표시하기

  4. even_move - 감성적인 에러 페이지

  5. Gentelella

  6. 폰트를 자동 설치하는 코드

  7. [오토핫키] 브라우저를 열어 지난번과 동일한 폴더에 MZK를 다운받고 압축을 네이티브로 해제하는 스크립트

  8. [PHP] 기상청 RSS 시간별 예보 위젯 - cache 적용(?)

  9. 사이트 서버 이전 (또는 미러링 사이트 구축) 쉽게하는 스크립트

  10. 소셜XE / 기존 통합 로그인 스킨 V2.2

  11. 유튜브에 약간의 기능을 추가 해주는 크롬 확장 프로그램.

  12. [Python] Google Image Search 결과를 받아오기

  13. 잘못 쓰면 컴퓨터가 날아가는 코드

  14. [아미나] 네이트 실시간 검색어 순위 위젯 (아미나 캐시 적용)

  15. [PyQt] sir.kr에서 스크랩한 게시글을 보여주는 윈도우앱 (검색 및 정렬 가능)

  16. [Python] 선택한 파일을 Dropbox API를 이용하여 업로드하고 공유링크를 받아서 이미지 호스팅 용도로 URL을 변환하기

  17. CMD로 로컬 연결 고정 IP 설정하기

  18. [Python] 유튜브 영상을 다운받아 일정 간격으로 캡쳐하여 10장씩 merge하기

  19. 클라이언트단에서 이미지 리사이징

  20. 컴퓨터의 uuid 얻기

Board Pagination Prev 1 2 3 4 Next
/ 4