shell实现每天0点备份mysql数据库

就两个文件, 本人学识尚浅,不解释,怕大佬喷。

back.sh

#/bin/bash
MYSQLUSER=root
MYSQLPWD=lizhenghua
DATABASES=zskdb
MYSQLDATASAVEDIR=/home/mysql
DATAFILENAME=zskdb.sql
DATETIME=`date "+%Y-%m-%d"`

mysqldump -u ${MYSQLUSER} -p${MYSQLPWD} --databases ${DATABASES} > ${MYSQLDATASAVEDIR}/${DATAFILENAME}

echo "**************压缩***************"
zip -r -9 -q -o ${DATETIME}.zip ./*.sql
/usr/bin/sleep 3
echo

echo "**************清理*************"
if [[ "${DATETIME}.zip" != "" ]]
then
	echo "数据库已备份,准备删除多于文件"
	/usr/bin/sleep 2
	rm -rf ${DATAFILENAME}
	echo
else
	echo "数据库未备份,准备重新备份"
	/usr/bin/sleep 2
	zip -r -9 -q -o ${DATETIME}.zip ./*.sql
	echo
fi

cron.sh

#/bin/bash
PATH=`pwd`
FILE=back.sh
echo "0 0 * * * ${PATH}/${FILE}" > /var/spool/cron/${USER} 

两个文件放在一起。

posted @ 2018-11-29 16:32  扶苏公子x  阅读(738)  评论(0编辑  收藏  举报