Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

[Linux] 계정 백업 스크립트

2013-10-06 by 편리

이 블로그를 운영하고 있는 서버에 cron을 이용한 백업 스크립트를 작성했다. 1주일한번 계정 자료를 풀백업하고 매일 증분 백업을 하기로 했다. DB는 매일 백업한다. 매일 일정 시간에 백업을 실행하기 위해서는 cron 서비스를 이용한다. 아래는 계정 풀백업과 증분백업 그리고 DB 백업을 실행하는 쉡스크립트이다. 직접 작성한 것은 아니고 인터넷을 검색해서 나에게 맞도록 수정했다.

1. 계정 풀백업

#!/bin/sh
#이전 FullBackup 삭제
deleteday=`date --date '7 days ago' +%Y%m%d`
/bin/rm -rf /home/ncube/backup/ncubeFull-$deleteday.list
/bin/rm -rf /home/ncube/backup/ncubeFull-$deleteday.tar.gz

#새로운 FullBackup 시작
today=`date '+%Y%m%d'`
/bin/tar cpf /home/ncube/backup/ncubeFull-$today.tar --listed-incremental /home/ncube/backup/ncubeFull-$today.list /home/ncube/www
/bin/gzip /home/ncube/backup/ncubeFull-$today.tar

2. 계정 증분백업

#!/bin/sh
today=`date '+%Y%m%d'`
weekday=`date '+%a'`
case "$weekday" in
  Mon)
    previousday=`date --date '1 days ago' +%Y%m%d`
    ;;
  Tue)
    previousday=`date --date '2 days ago' +%Y%m%d`
    ;;
  Wed)
    previousday=`date --date '3 days ago' +%Y%m%d`
    ;;
  Thu)
    previousday=`date --date '4 days ago' +%Y%m%d`
    ;;
  Fri)
    previousday=`date --date '5 days ago' +%Y%m%d`
    ;;
  Sat)
    previousday=`date --date '6 days ago' +%Y%m%d`
esac
/bin/tar czf /home/ncube/backup/ncubeIncremental-$today.tar.gz --listed-incremental /home/ncube/backup/ncubeFull-$previousday.list /home/ncube/www

3. DB 백업

#!/bin/sh
today=`date '+%Y%m%d'`
/usr/local/mysql/bin/mysqldump -u ncube -p12345678 ncube > /home/ncube/backup/ncubedb-$today.sql

위 DB 백업 스크립트에서 -p12345678 부분에서 12345678은 DB 계정의 비밀번호이다.

그리고 이 백업을 매일 일정 시간에 실행하기 위해서는 cron 서비스에 등록해줘야 한다. crontab -e 명령어로 cron 서비스 편집 모드로 들어간 후 아래의 코드를 적당히 수정해서 등록한다.

# ncube Full backup
0 4 * * 0 /root/ncubeFullBackup.sh > /dev/null 2>&1

# ncube Incremental backup
0 4 * * 1,2,3,4,5,6 /root/ncubeIncrementalBackup.sh > /dev/null 2>&1

# ncube DB backup
0 4 * * * /root/ncubedbBackup.sh > /dev/null 2>&1

이렇게 하면 매일 주기적으로 백업이 진행된다. 블로그 자료를 안전하게 보관할 수 있게 됐다.

Post navigation

Previous Post:

반가운 편지

Next Post:

혼란스러워

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes