정보&강의 구글 무제한 드라이브를 활용한 리눅스용 gdrive 백업 스크립트
- 운영자
- 394
- 0
#!/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에 추가하면 됩니다. 하루에 한번이 적당합니다.
이런 글도 찾아보세요!
댓글 0
권한이 없습니다. 로그인