上一章介绍完基础【开发工具】Linux 服务器 Shell 脚本简单入门,这一章结合实际运用

对于 do while if else等流程控制基础不再说明,和编程语言大同小异,可以在实际的脚本使用中学习。

.Net Core 项目后台重启脚本

kill -9 $(ps -ef | grep 'dotnet Test.dll --urls=http://\*:8001' | grep -v grep | awk '{print $2}')

cd ./Test && nohup dotnet Test.dll --urls="http://*:8001" &

echo "重启Test.Api执行完成"

awk '{print $2}' :  取结果的第二列字段,即进程的PID号,终止这个进程

> /dev/null 2>&1   : 将日志输出至 /dev/null , 2>&1 把错误输出日志和标准输出日志合并输出

上面这个命令涉及Shell 输入输出重定向

  • 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
  • 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

举个例子: > 输出 字符串 到 文件中, >会覆盖原文件  >>可以在末尾追加

判断奇数的和

新建class6.sh及脚本。

sum=0
for num in 1 2 3 4 5 6 7;do
re=${num}%2
if (( ${re} == 1 ));then
sum=$[${sum}+${num}]
fi
done
echo ${sum}

bash -n XXX.sh 检查脚本是否有误,一般情况下,Linux没有输出表示正确

bash -n XXX.sh 调试脚本, +标识调试输出

MySql备份脚本

在 /home/shell 目录下, 新建class7.sh 脚本,

解释:进入 base_dir 目录下,登录,备份 data1和data2两个数据库到 dump_xxxxx.sql ,把脚本运行log记录到 /home/bankup/mysql_dump.log

base_dir=/home/bankup/sql_script
DATE=$(date +%Y%m%d)
time=$(date "+%Y-%m-%d %H:%M:%S")
cd $base_dir
mysqldump -uroot -p123456 --databases data1 data2> dump$DATE.sql
if [ $? -eq 0 ]
then
echo "成功备份mysql数据库,当前日期为:"$time >> /home/bankup/mysql_dump.log
else
echo "备份mysql数据库失败:当前日期为:"$time>> /home/backup/mysql_dump.log
fi
    if [ $? -eq 0 ] 判断是否相等 ,$? 上个命令的退出状态或函数的返回值, -eq 相等。

此备份脚本已写完,但是还不够方便,把他加入定时任务,自动运行。

使用 crontab -e 命令打开定时任务 在打开的文件添加定时任务代码,然后保存。

59 23 * * * /home/shell/class7.sh

每天23点59分备份执行class7.sh备份数据库。

其他功能:Shell文件包含

可以在一个脚本中包含另一个脚本

class8.sh脚本如下

name="司马"

class9.sh脚本如下

source ./class8.sh

echo "我的名字:$name"

./class9.sh执行脚本

【开发工具】Linux 服务器 Shell 脚本简单应用(MySql备份等脚本)的更多相关文章

  1. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  2. 调用远程linux服务器shell脚本

    package com.haiyisoft.hyoaPc.ui; import java.io.BufferedReader;import java.io.IOException;import jav ...

  3. Linux Bash Shell j简单入门

    BASH 的基本语法 最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     ...

  4. Python开发工具,服务器框架等

    python服务器框架:uWSGI WEB服务器.mod_WS.Meinheld.Gunicorn.CherryPy.Bjoern 查看python内部模块命令,内置函数,查看python已经安装的模 ...

  5. Linux服务器下对Oracle作Rman备份

    由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ...

  6. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  7. Linux 网站文件和数据库全量备份 一键脚本(支持FTP,Google Drive)

    原文连接: https://teddysun.com/469.html 此文为转载,建议查看秋水大神的原文,排版更容易查看,另外,建议查看脚本源码,方便了解脚本运行过程, 脚本已测试,大神的脚本一如既 ...

  8. linux 简单的mysql备份和导入,以及文件的备份和导入

    一,数据库的备份与导入 1),数据库的备份 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 例:mysqldump -u dbadmin -p myblo ...

  9. mysql 备份解密脚本

    #!/bin/bash #by sk 备份解码脚本 echo "-------------------------------------------------" functio ...

  10. (转)开发监控Linux 内存 Shell 脚本

    原文:http://blog.csdn.net/timchen525/article/details/76474017 题场景: 开发Shell 脚本判断系统剩余内存的大小,如果低于100MB,就邮件 ...

随机推荐

  1. [转帖]Linux下AWK、SED、GREP、FIND命令详解

    https://www.jianshu.com/p/d54e0359db01 AWK AWK是一个优良的文本处理工具,Linux和Unix环境中现有的功能最强大的数据处理引擎之一. 语法 awk [选 ...

  2. [转帖]Nacos 获取配置时启用权限认证

    默认情况下获取 Nacos 中的配置是不需要权限认证的, 这个估计是由其使用场景决定的(绝大多数都是仅内网可访问). 今天调查了下如何在获取配置时增加权限验证以提高其安全性. 1. 启用 Nacos ...

  3. [转帖]关于linux:NUMA架构下的内存延迟区别测试

    https://lequ7.com/guan-yu-linuxnuma-jia-gou-xia-de-nei-cun-yan-chi-qu-bie-ce-shi.html 当初的服务器物理机CPU个别 ...

  4. [转帖]ChatGPT发展历程、原理、技术架构详解和产业未来 (收录于先进AI技术深度解读)

    https://zhuanlan.zhihu.com/p/590655677 陈巍谈芯::本文将介绍ChatGPT的特点.功能.技术架构.局限.产业应用.投资机会和未来.作者本人曾担任华为系自然语言处 ...

  5. [转帖]@Autowired 和 @Resource 的区别

    @Autowired 和 @Resource 的区别 默认注入方式不同 @Autowired 默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入 Bean (接口 ...

  6. [转帖]JVM NativeMemoryTracking ;jcmd process_id VM.native_memory;Native memory tracking is not enabled

    目录 一.Native Memory Tracking (NMT) 是Hotspot VM用来分析VM内部内存使用情况的一个功能.我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据. 1.N ...

  7. Redis labs 的安装

    Install and setup This guide shows how to install Redis Enterprise Software, which includes several ...

  8. 解决node与npm版本不一致,出现npm WARN npm npm does not support Node.js v15.14.0

    出现node与npm版本不一致 今天我升级了node之后,出现的了如下信息 npm WARN npm You should probably upgrade to a newer version of ...

  9. Gin-官方文档

    目录 官方文档 官方文档 https://learnku.com/docs/gin-gonic/2018/gin-readme/3819 https://www.kancloud.cn/shuangd ...

  10. 人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化)、CNN+LSTM模型建模

    "AI Earth"人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化).CNN+LSTM模型建模 1.气象海洋预测-数据分析 数据分 ...