운영체제 이야기/Linux(CentOS)

[CentOS7] rsync 적용

한희성 2019. 5. 6.
반응형
  1. 리눅스에서 스케줄 작업의 개요
    1. 스크립트를 작성한다 (일반적으로 .sh파일, 윈도우의 .bat개념)
    2. crontab에 등록한다.
  2. 스크립트 (백업로그와 실제 백업 수행)

    1. 백업폴더생성

    2. 스크립트작성

      1. 백업파일식별
        1. www_contents
        2. DB data
          1. 위치확인

            $ mysql -u root -p
            ---------------------
            mysql> show variables like 'datadir';
          2. 결과

            +---------------+-----------------+
            | Variable_name | Value           |
            +---------------+-----------------+
            | datadir       | /var/lib/mysql/ |
            +---------------+-----------------+
            1 row in set (0.00 sec)
            
            
            
      2. 스크립트작성

        $ vi ~/rsync_backup.sh
        -----------------------------------------
        
        #!/bin/sh
        
        PATH=/usr/bin:/bin
        LOG="rsync-backup-$(date +%Y-%m-%d).log"
        WWW_CONTENTS_LOG="rsync-www_contents-$(date +%Y-%m-%d).log"
        WWW_CONTENTS_ERR="rsync-www_contents-$(date +%Y-%m-%d).err"
        MYSQL_FOLDER_LOG="rsync-mysql_folder-$(date +%Y-%m-%d).log"
        MYSQL_FOLDER_ERR="rsync-mysql_folder-$(date +%Y-%m-%d).err"
        
        # rsync to backup location
        echo "Running rsync..." >> /u00/backup/nas/logs/current_month/$LOG
        rsync -avrz /u00/www_contents /u00/backup/nas/www_contents > /u00/backup/nas/logs/current_month/$WWW_CONTENTS_LOG 2> /u00/backup/nas/logs/current_month/$WWW_CONTENTS_ERR
        rsync -avrz /var/lib/mysql /u00/backup/nas/mysql_folder  > /u00/backup/nas/logs/current_month/$MYSQL_FOLDER_LOG 2> /u00/backup/nas/logs/current_month/$MYSQL_FOLDER_ERR
        
        # archive backup to bz2 format (with timestamp)
        #echo "Running tar..." >> ~/$LOG
        #tar -jcvf ~/www-backup-$(date +%Y-%m-%d).tar.bz2 ~/www-backup/ > ~/tar.log 2> ~/tar.err
        #rsync -av --delete --delete-excluded /var/www/ ~/www-backup/ > ~/rsync.log 2> ~/rsync.err
        #rsync -avrz /u00/www_contents ~/www-backup/ > ~/rsync.log 2> ~/rsync.err
    3. /var/lib/mysql/ 

  3. 스케줄러 등록

    $ crontab -e
    -----------------------------------
    00 03 * * * ~/rsync_backup.sh
  4. rsync log 매월 백업
    1. 스크립트

      $ vi ~/tar_logs_monthly.sh
      -------------------------------------------
      
      mkdir /u00/backup/nas/logs/history/$(date +%Y) -p
      tar -jcvf /u00/backup/nas/logs/history/$(date +%Y)/$(date +%Y-%m).tar.bz2 /u00/backup/nas/logs/current_month
      rm /u00/backup/nas/logs/current_month/*
    2. 스케줄러

      $ crontab -e
      --------------------------------
      00 02 1 * * ~/tar_logs_monthly.sh
  1. 설치

    $ yum install rsync
  2. 사용

    $ rsync -avrz /u00/www_contents /u00/backup/www_contents


반응형

'운영체제 이야기 > Linux(CentOS)' 카테고리의 다른 글

[CentOS7] 무선랜 설정  (0) 2019.07.13
[CentOS7] HDD 용량 확인  (0) 2019.05.28
[CentOS7] NAS mount 방법 및 규칙  (0) 2019.05.06
[CentOS7] 리눅스환경변수  (0) 2019.05.06
[CentOS7] Tomcat 설치 및 설정  (0) 2019.05.06

댓글

💲 추천 글