5

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

 3 years ago
source link: https://blog.csdn.net/guorui_java/article/details/115792966
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、为什么要学习Shell编程

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

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

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

二、Shell是什么

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

三、编写第一个Shell脚本

1、脚本格式要求

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

2、用Shell脚本输出hello shell

四、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、代码实例

六、备份数据库

1、需求分析

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

2、代码实例

往期精彩内容:

Java知识体系总结(2021版)

Java多线程基础知识总结

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

超详细的springBoot学习笔记

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

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

Java面试题总结(附答案)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK