로그인

  • 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

정보&강의 구글 무제한 드라이브를 활용한 리눅스용 gdrive 백업 스크립트


#!/bin/sh
LANG=en
PATH=/usr/bin:/bin
DOW=`date +%a`
DOM=`date +%d`
HOMEDIR=/home
BACKUPDIR=/backup/backup-server
Gdir_data=Google 폴더 id
Gdir_db=Google 폴더 id
Gdir_system=Google 폴더 id
MYSQLPASSWD="암호"


# 계정별로 웹계정을 압축
echo "Compressing Data directory..."

cd ${HOMEDIR}
        for USER in *; do
            NOW=`date +%d-%b`
            tar -zcvf ${BACKUPDIR}/data/${USER}-$(date '+%Y-%m-%d').tar ${HOMEDIR}/${USER}/public_html --exclude=files/cache
        done


# 계정별로 디비를 압축
echo "Compressing DB..."


DATABASE=`mysql -u root -p${MYSQLPASSWD} -e "show databases;" -s`
for DB in ${DATABASE}; do
         mysqldump -u root -p${MYSQLPASSWD} --single-transaction --no-autocommit --order-by-primary --opt ${DB} --ignore-table=${DB}.xe_referer_log --ignore-table=${DB}.xe_session --extended-insert=false > ${BACKUPDIR}/db/${DB}-$(date '+%Y-%m-%d').sql
done


# 시스템 관련 파일을 압축
echo "Compressing System directory..."

cd /
tar -cpf ${BACKUPDIR}/system/etc-$(date '+%Y-%m-%d').tar etc
tar -cpf ${BACKUPDIR}/system/usr-$(date '+%Y-%m-%d').tar usr
tar -cpf ${BACKUPDIR}/system/root-$(date '+%Y-%m-%d').tar root

# 15일이 지난 파일은 삭제
find ${BACKUPDIR}/data/ -name '*.tar' -mtime +15 -delete
find ${BACKUPDIR}/db/ -name '*.sql' -mtime +15 -delete
find ${BACKUPDIR}/system/ -name '*.tar' -mtime +15 -delete


# 구글 드라이브에 업로드 (gdrive 라이브러리 이용함)
echo "Uploading to Google Drive..."

cd ${HOMEDIR}
        for USER in *; do
                /usr/sbin/gdrive upload -p ${Gdir_data} ${BACKUPDIR}/data/${USER}-$(date '+%Y-%m-%d').tar

        done

DATABASE=`mysql -u root -p${MYSQLPASSWD} -e "show databases;" -s`
        for DB in ${DATABASE}; do
                /usr/sbin/gdrive upload -p ${Gdir_db} ${BACKUPDIR}/db/${DB}-$(date '+%Y-%m-%d').sql
        done


/usr/sbin/gdrive upload -p ${Gdir_system} ${BACKUPDIR}/system/etc-$(date '+%Y-%m-%d').tar
/usr/sbin/gdrive upload -p ${Gdir_system} ${BACKUPDIR}/system/usr-$(date '+%Y-%m-%d').tar
/usr/sbin/gdrive upload -p ${Gdir_system} ${BACKUPDIR}/system/root-$(date '+%Y-%m-%d').tar

 

구글 무제한 드라이브를 이용하여 서버의 웹데이터 및 디비를 백업하는 스크립트입니다.

Google Drive와의 연동은 Gdrive를 이용하였고 bash 스크립트로 작성후, Crontab에 추가하면 됩니다. 하루에 한번이 적당합니다.

 


이런 글도 찾아보세요!

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?