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เดือน) ประมาณนี้ครับ

Tags: , ,


Leave a Reply