Shell Script Backup MySQL
สวัสดีครับผม ว่าแล้ววันนี้ก็เขียน shell script ง่ายๆ เพื่อ backup mysql ลง NFS ที่ผม map ไว้ โดย script ที่เขียนขึ้นมานั้น จะมีข้อดีก็ตรงการตั้งเวลาในการลบ data เก่าทิ้งได้
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin BACKUP_SRC=”/usr/home/mysql” BACKUP_DST=”/data/backup/mysql” LIMIT=7d ######################################## HOSTNAME=`uname -n` DATE=`date +%Y%m%d` DATE_DELETE=`date -v-${LIMIT} +%Y%m%d` BACKUP_LOG=”${BACKUP_DST}/backup.log” ######################################## echo “=============================” >> ${BACKUP_LOG} echo `date` >> ${BACKUP_LOG} echo -n “delete expire backup data..” >> ${BACKUP_LOG} rm -rf $BACKUP_DST/mysql-$DATE_DELETE 1> /dev/null 2> /dev/null echo ” done” >> ${BACKUP_LOG} echo -n “backup database..” >> ${BACKUP_LOG} cp -Rp $BACKUP_SRC $BACKUP_DST/$DATE echo ” done” >> ${BACKUP_LOG}
การทำงานของ script คือ ระบบจะทำการหาวันปัจจุบัน และวันที่ expire “DATE_DELETE=`date -v-${LIMIT} +%Y%m%d`” โดยจะลบวันจากปัจจุบันไปอีก 7 วัน แล้วก็ค่อย Delete ทิ้งครับผม ส่วนของวัน สามารถแก้่ไขได้ครับ เป็น 7d, 1m (1เดือน) ประมาณนี้ครับ