程序员(媛)Shell脚本必备技能之中的一个: 在Linux下怎样自己主动备份mysql数据
作者:荀彧(花名)
Background:鉴于QAS数据库曾遭到毁灭性损害。极其桑心L。为了避免这样的玉石俱焚的状况再度发生。于是我们找出了一种应对方案。这里给大家分享一下怎样实现定时备份mysql数据库的脚本。
Target:每天对QAS数据库进行数据及表的备份而且删除掉10天之前的备份文件。
Working:三个步骤搞定。
Step 1: 准备两个文件
建备份目录qas_db_bak,建脚本文件autobackupmysql_qas.sh
[root@vm***** wewang]# ls
autobackupmysql_qas.sh qas_db_bak
打开脚本文件:
[root@vm***** wewang]# vi autobackupmysql_qas.sh
在脚本中加入内容:
#!/bin/bash backupdir=/home/**/wewang/qas_db_bak Now=$(date +"%Y-%m-%d--%H:%M:%S") /usr/bin/mysqldump -u ghs -pacxiom qas|gzip > $backupdir/qas_bak_$Now.sql.gz find $backupdir -name "qas_bak_*.sql.gz" -type f -mtime +10 -exec rm {} \; > /dev/null 2>&1 |
:wq 返回退出后,对文件进行运行权限的更改。保证脚本能够被运行:
[root@vm***** wewang]# chmod +xautobackupmysql_qas.sh
截图例如以下:
解析:
name:自己定义备份文件前缀标识。
-type f 表示查找普通类型的文件。f表示普通文件。
天曾经;假设是
-mmin +10 分钟曾经。
-exec rm {} \; 表示运行一段shell命令。exec选项后面尾随着所要运行的命令或脚本。然后是一对儿{
},一个空格和一个\。最后是一个分号。
/dev/null 2>&1 把标准出错重定向到标准输出,然后扔到/DEV/NULL以下去。通俗的说。就是把全部标准输出和标准出错都扔到垃圾桶里面;当中的&表示让该命令在后台运行。
Step 2: 更改定时运行脚本,这里有两种case:
Case 1: 普通情况。打开自己主动运行文件 /etc/crontab,在crontab文件里增加例如以下内容,让其自己主动运行任务
[root@vm10074 wewang]# vi /etc/crontab
加入例如以下代码:
这里的样例是每小时26分的时候运行:
26 * * * * root /home/**/wewang/autobackupmysql_qas.sh
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
若是每天三点运行,则:
00 3 * * * root /home/**/wewang/autobackupmysql_qas.sh
Case 2: Redhat情况。(也就是当前用的Linux系统)将刚才编辑的脚本拷贝到对应的文件夹就可以
[root@vm***** wewang]# cp autobackupmysql_qas.sh /etc/cron.daily/ |
截图例如以下:
解析: 这里是每天4点28分左右才运行,可是这个job运行的时间也是随机的。
Redhat的crontab採用按时间调用4个文件夹(
/etc/cron.hourly:每小时;
/etc/cron.daily:每天;
/etc/cron.weekly:每周。
/etc/cron.monthly:每月)中脚本出来执行的方式。
Step 3: 重新启动etc
[root@vm10074 wewang]# /etc/rc.d/init.d/crondrestart
Stopping crond: [ OK ]
Starting crond: [ OK ]
定时备份的效果例如以下:
Ps: 假设想要解压查看,则通过命令查看:gunzip -c qas-bak-2015-07-30--04:29:02.gz > 1.bak
程序员(媛)Shell脚本必备技能之中的一个: 在Linux下怎样自己主动备份mysql数据的更多相关文章
- 解析PHP程序员需要掌握的必备技能
转自:http://www.php100.com/html/php/lei/2013/0904/4199.html 作为PHP的爱好者,如果你想加入PHP程序的世界,一定要做好充分的准备.建议大家阅读 ...
- MySQL常用指令,java,php程序员,数据库工程师必备。程序员小冰常用资料整理
MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中 ...
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- Android应用程序如何调用shell脚本(一)
转自: Android应用程序如何调用shell脚本(一) 一般来说, Android 下的应用程序可以“直接”得到的最大的权限为 system ,但是如果我们需要在程序中执行某些需要 root 权限 ...
- Web程序员开发App系列 - 开发我的第一个App,源码下载
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---6
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---5
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---4
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...
随机推荐
- 通过学习Date和Calendar时写的日历
package com.etc.util; import java.util.Calendar; import java.util.Scanner; public class Calendar2 { ...
- supervisord 使用记录
#supervisor简介 Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程. #组成部分 supervisord(s ...
- OPPO R11 R11plus系列 解锁BootLoader ROOT Xposed 你的手机你做主
首先准备好所有要使用到的文件 下载链接:https://share.weiyun.com/5WgQHtx 步骤1. 首先安装驱动 解压后执行 Install.bat 部分电脑需要禁用驱动程序签名才可以 ...
- 人脸Pose检测:ASM、AAM、CLM总结
人脸的Pose检测可以使用基于位置约束的特征点的方法.人脸特征点定位的目的是在人脸检测的基础上,进一步确定脸部特征点(眼睛.眉毛.鼻子.嘴巴.脸部外轮廓)的位置.定位算法的基本思路是:人脸的纹理特征和 ...
- WebGL画点程序v2
本文程序实现画一个点的任务,如下图.其中,点的位置坐标由Javascript传到着色器程序中,而不是直接给定("硬编码")在顶点着色器中. 整个程序包含两个文件,分别是: 1. H ...
- msmq消息队列使用场景
MSMQ全称是Microsoft Message Queue——微软消息队列. MSMQ是一种通信的机制,因为是一种中间件技术,所以它能够支持多种类型的语言开发,同时也是跨平台的通信机制,也就是说MQ ...
- HDU_2149_基础博弈sg函数
Public Sale Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 题解 P3258 【[JLOI2014]松鼠的新家】(From luoguBlog)
唯一能得分的题也被自己搞炸了,好的. 考场上读完题基本认定和lca脱不了干系,想了一会确认是树剖. 那么问题来了,考前一节课刚发现自己之前打的树剖是错的. 而且就算是错的我也没信心考场调出来. 于是打 ...
- 微信小程序例子-保存图片到手机相册
微信小程序例子-保存图片到手机相册 1.关键代码 1)WXML文件 2)JS文件 saveImgToPhotosAlbumTap: function(){ // 图片必须是 https 的 var I ...
- webpack学习(五)—webpack+react+es6(第1篇)
如果你看过webpack学习系列的前一个文章,接下来做的东西会比较简单 :webpack学习(四)— webpack-dev-server react发展的很快,现在大部分开发react相关的项目,都 ...