- 1、执行
- crontab -e
- 00 00 * * * /bin/bash yourpath/MysqLbak.sh
- 2、打开自动执行文件
- vi /etc/crontab
- 在etc中加入如下内容,让其自动执行任务。
- 00 00 * * * root /MysqLbak.sh
- 以上两个 00 00 * * * 为每天的凌晨自动执行脚本
-
- 分 时 日 月 周 命令
-
- M: 分钟(0-59)。每分钟用*或者 */1表示
- H:小时(0-23)。(0表示0点)
- D:天(1-31)。
- m: 月(1-12)。
- d: 一星期内的天(0~6,0为星期天)。
- 每五分钟执行 */5 * * * *
- 每小时执行 0 * * * *
- 每天执行 0 0 * * *
- 每周执行 0 0 * * 0
- 每月执行 0 0 1 * *
- 每年执行 0 0 1 1 *
- 重启cron
- /etc/rc.d/init.d/crond restart
- or
- service crond restart
- 详细请看crond的wiki
- http://zh.wikipedia.org/wiki/Cron
- MysqLback.sh
- #!/bin/bash
- #功能说明:本功能用于备份数据库
- #编写日期:2010/12/06
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/MysqL/bin
- export PATH
- #数据库用户名
- dbuser=’root’
- #数据库密码
- dbpasswd=’123456′
- #数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
- dbname=’test1 test2′
- #备份时间
- backtime=`date +%Y%m%d%H%M%S`
- #日志备份路径
- logpath=’/second/backup’
- #数据备份路径
- datapath=’/second/backup’
- #日志记录头部
- echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 开始” >> ${logpath}/MysqLlog.log
- #正式备份数据库
- for table in $dbname; do
- source=`MysqLdump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/MysqLlog.log;
- #备份成功以下操作
- if [ "$?" == 0 ];then
- cd $datapath
- #为节约硬盘空间,将数据库压缩
- tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
- #删除原始文件,只留压缩后文件
- rm -f ${datapath}/${backtime}.sql
- echo “数据库表 ${dbname} 备份成功!!” >> ${logpath}/MysqLlog.log
- else
- #备份失败则进行以下操作
- echo “数据库表 ${dbname} 备份失败!!” >> ${logpath}/MysqLlog.log
- fi
- done
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了