1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/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 에서 백업을 원하는 분들은 이렇게 구성하셔도 도움 될 것 같습니다.
없어진 줄 알았는데 ㅎ