【Linux 6】通过Shell编程实现定时备份数据库

一、为什么要学习Shell编程

1、Linux运维工程师在进行服务器集群管理时,需要编写Shell程序进行服务器管理。

2、对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shell脚本进行程序进行服务器的维护,比如编写一个定时备份数据库的脚本。

3、对于大数据程序员来说,需要编写Shell程序来管理集群。

二、Shell是什么

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

三、编写第一个Shell脚本

1、脚本格式要求

  1. 脚本以#!/bin/bash开头
  2. 脚本需要有可执行权限

2、用Shell脚本输出hello shell

【Linux 6】通过Shell编程实现定时备份数据库_第1张图片

四、Shell的变量

1、Shell变量简介

  1. Linux Shell中的变量分为系统变量和用户自定义变量。
  2. 系统变量:$HOME、$PWD、$SHELL、$USER等,比如echo $HOME
  3. 显示当前shell中所有变量:set

2、shell变量的定义

(1)基本语法:

  1. 定义变量:变量名=值
  2. 撤销变量:unset 变量
  3. 声明静态变量:readonly变量,注意,不能unset

(2)定义变量的规则:

  1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
  2. 等号两侧不能有空格
  3. 变量名称一般习惯为大写,这是一个规范,遵守即可。

(3)将命令的返回值赋给变量

  1. NAME=`date`反引号,运行里面的命令,并将结果赋给变量NAME
  2. NAME=$(date)等价于反引号

3、代码实例

【Linux 6】通过Shell编程实现定时备份数据库_第2张图片

【Linux 6】通过Shell编程实现定时备份数据库_第3张图片

五、传参

【Linux 6】通过Shell编程实现定时备份数据库_第4张图片

【Linux 6】通过Shell编程实现定时备份数据库_第5张图片

六、备份数据库

1、需求分析

  1. 每天凌晨2:30备份数据库gooReey到/data/backup/db
  2. 备份开始和备份结束能够给出相应的提示信息
  3. 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:2021-04-17_230201.tar.gz
  4. 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除

2、代码实例

【Linux 6】通过Shell编程实现定时备份数据库_第6张图片

【Linux 6】通过Shell编程实现定时备份数据库_第7张图片

 

往期精彩内容:

Java知识体系总结(2021版)

Java多线程基础知识总结

【全栈最全Java框架总结】SSH、SSM、Springboot

超详细的springBoot学习笔记

常见数据结构与算法整理总结

Java设计模式:23种设计模式全面解析

Java面试题总结(附答案)

你可能感兴趣的:(Linux)