我的网站

您现在的位置是:首页 > 服务器运维 > freebsd > 正文

freebsd

FreeBSD下cron自动备份MySQL数据库的脚本 及crontab 保存位置

netsnails2018-02-15freebsd3248

FreeBSD下cron自动备份MySQL数据库的脚本

及crontab 保存位置

 crontab保存命令存放在 /var/cron/tabs/ 目录下  按照执行的用户分类存放 

用cron每天2:00自动备份MySQL数据库,文件名以当天的年月日命名,前缀为数据库名,备份后自动删除前六天的备份。

1、建备份目录,以用户user为例

$mkdir /usr/home/user/dbbak

$mkdir /usr/home/user/dbbak/user_db

2、写/usr/home/user/dbbak/dbbak.sh 脚本。DBName=数据库名 BackupPath=备份目录 DBbinPath=mysqldump等实用工具所在目录

 

#!/bin/sh

DBName=user_db

BackupPath=/usr/home/user/dbbak/

DBbinPath=/usr/local/bin/mysqldump

if ${DBbinPath} --opt --extended-insert=false -uroot ${DBName} > ${BackupPath}${DBName}"/"${DBName}`date "+%Y-%m-%d"`".sql" ;

then

find ${DBbinPath}${DBName}"/" -mtime +6 -exec rm {} \;

else

exit

fi

3、将dbbak.sh加入cron

 最好把/etc/crontab 复制成root并放到 /var/cron/tabs/ 目录下,

并且添加一行:

0 2 * * *    /usr/home/user/dbbak/dbbak.sh

因为在FreeBSD下面所有用户的cron任务都是存放在/var/cron/tabs/下面并以该用户命名的,文件内容和/etc/crontab 大致一样,只是需要去掉里面的用户名,如

0 2 * * *    /usr/home/user/dbbak/dbbak.sh


发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~