Linux 下使用shell脚本定时维护数据库的案例
疫情期间哪哪也不能在,天天在家宅着快闷出病了,今天跟着韩顺平老师的视频学了一个星期的Linux基础命令和shell编程之后,做了一个shell脚本定时维护数据库的案例,用于之后复习和应用。
脚本需求如下:
#数据库定时备份 #备份路径 BACKUP=/data/backup/db #获取当前时间作为文件名 DATETIME=$(date +%Y_%m_%d_%H%M%S) echo “=开始备份=” echo ‘备份的路径是 BACKUP/BACKUP/BACKUP/DATETIME.tar.gz' #主机 HOST=localhost #用户名 DB_USER=root DB_PWD=root DATABASE=myDB #创建备份路径 [ ! -d “BACKUP/BACKUP/BACKUP/DATETIME” ] && mkdir -p “BACKUP/BACKUP/BACKUP/DATETIME” #执行mysql的备份数据库的指令 mysqldump -uDBUSER−p{DB_USER} -pDBUSER−p{DB_PWD} --host=$HOST $DATABASE | gzip > BACKUP/BACKUP/BACKUP/DATETIME/$DATETIME.sql.gz #打包备份文件 cd $BACKUP tar -zcvf $DATETIME.tar.gz $DATETIME #删除临时目录 rm -rf BACKUP/BACKUP/BACKUP/DATETIME #删除10天之前的备份文件 find $BACKUP -mtime +10 -name “*.tar.gz” -exec rm -rf {} ; echo “备份成功”
最后
用crontab -e 指令添加定时任务
10 2 * * * /usr/sbin/mysql_db_backup.sh
最后就完成了shell脚本!
总结
到此这篇关于Linux 下使用shell脚本定时维护数据库的文章就介绍到这了,更多相关shell脚本定时维护数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库
1,统计PV和IP 统计当天的PV(Page View) cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l 统计某一天的PV cat access.log | sed -n '/20\/Sep\/2018/p' | wc -l 查看日志中访问次数最多的前10个IP cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' |
-
Linux shell实现每天定时备份mysql数据库
每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: #创建shell文件 vim backup_mysql.sh mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql find
-
Linux 下使用shell脚本定时维护数据库的案例
疫情期间哪哪也不能在,天天在家宅着快闷出病了,今天跟着韩顺平老师的视频学了一个星期的Linux基础命令和shell编程之后,做了一个shell脚本定时维护数据库的案例,用于之后复习和应用. 脚本需求如下: #数据库定时备份 #备份路径 BACKUP=/data/backup/db #获取当前时间作为文件名 DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "=开始备份=" echo '备份的路径是 BACKUP/BACKUP/BACKUP/DATETIME.
-
Linux下使用shell脚本自动执行脚本文件
以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat中的应用wfjb_web 复制到 /usr/local/wfjb_web_back/tomcat_back/目录下 并按照日期作为文件名称 cp -af /usr/local/apache-tomcat-7.0.73/webapps/wfjb_web /usr/local/wfjb_web_back
-
linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法
要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert
-
Linux下使用Shell脚本获取终端宽度的解决方法
获取终端大小时候的学习 在写shell脚本时想输出一行占满整个终端屏幕宽度的 横杠 发现for循环会导致执行缓慢 解决方法: 使用yes 命令 sed '50q' 显示50行 tr -d '\n' 删除 \n 多次重复输入相同字符可用yes yes "2" | sed '50q' | tr -d '\n' 想法来自:打印100个连续的符号,不用循环 ---------------------------------------------------------------------
-
linux下使用shell脚本输出带颜色字体
输出特效格式控制: \033[0m 关闭所有属性 \033[1m 设置高亮度 \03[4m 下划线 \033[5m 闪烁 \033[7m 反显 \033[8m 消隐 \033[30m -- \033[37m 设置前景色 \033[40m -- \033[47m 设置背景色 光标位置等的格式控制: \033[nA 光标上移n行 \03[nB 光标下移n行 \033[nC 光标右移n行 \033[nD 光标左移n行 \
-
Linux下使用Shell脚本实现ftp的自动上传下载的代码小结
1. ftp自动登录批量下载文件. 复制代码 代码如下: #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<<!open 192.168.1.171user guest 123456binarycd /home/datalcd /home/databackuppromptmget *closebye! 2. ftp自动登录上传文件. 复制代码 代码如下: ####本地的/home/databackup to
-
shell脚本实现mysql数据库双机定时备份的方法
目录 1 缘起与目的 2 确认环境 2.1 导出数据库sql脚本 2.2 跨机器拷贝 2.3 docker容器确认环境 3 构建脚本 3.1 脚本内容 3.2 手动执行脚本确认正常 4 定时任务 1 缘起与目的 最近有个需求,要求实现对某个数据库进行双机备份,每天凌晨备份一次,要求主机器只保留最近十五天的记录.经过深思熟虑的研究(疯狂baidu),我们决定用shell脚本加定时任务的方式来实现这个需求. 考虑到有的小伙伴mysql使用docker部署,最后我们也会贴出docker环境下的部署脚本
-
shell脚本定时备份MySQL数据库数据并保留指定时间
公司用到的MySQL数据库,经常有同事通过一顿骚操作把一些关键的配置数据误删,每次恢复都要花上不少时间,于是写了个shell脚本,结合corntab每天凌晨备份数据库,并保留7天. 同样的备份脚本也可用于生产环境MySQL数据库定时备份. 环境:CentOS 7.5 / MySQL 5.7 #!/bin/sh # 数据库账号信息 DB_USER="root" DB_PWD="root" DB_HOST="127.0.0.1" DB_PORT=&q
-
linux环境下编写shell脚本实现启动停止tomcat服务的方法
第一步:以管理员的身份进入控制台,在指定目录下新建一个shell脚本,我这里命名为tomcat.sh 第二步:编写shell脚本 #!/bin/bash tomcat_home=/usr/tomcat/apache-tomcat-8.0.48 SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh case $1 in start) echo "启动$tomcat_home" $STAR
随机推荐
- .NET下文本相似度算法余弦定理和SimHash浅析及应用实例分析
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- Java 大小写最快转换方式实例代码
- asp.net控件DataList分页用法
- ASP.NET MVC实现多个按钮提交的方法
- PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
- IP地址正则表达式匹配方法
- 在Python的Django框架中包装视图函数
- python with statement 进行文件操作指南
- JSP页面IE无法打开Internet 站点…… 已终止操作 的解决方法
- JavaScript常用本地对象小结
- 我认为JSP有问题(下)
- 详解SQL中Group By的用法
- js显示当前星期的起止日期的脚本
- javascript三元运算符用法实例
- jQuery异步提交表单实例
- JS实现数组去重方法总结(六种方法)
- JS类库Bindows1.3中的内存释放方式分析
- java 与web服务器链接的实例
- 关于mysql 字段的那个点为是定界符