Shell Script Backup MySQL
Posted by อัทศักดิ์ วงศ์กิตตะ on Saturday, May 31st, 2008สวัสดีครับผม ว่าแล้ววันนี้ก็เขียน 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เดือน) ประมาณนี้ครับ