上一章介绍完基础【开发工具】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. 【转帖】Ethernet 与 Infiniband的网络特性对比

    一.两者定位 以太网(Ethernet): 应用最广泛,是最成熟的网络互联技术,也是整个互联网络大厦的基石,兼容性非常好,可实现不同的系统之间的互连互通 IB(Infiniband): 领域很专,作为 ...

  2. [转帖]CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    https://www.cnblogs.com/hope250/p/8033818.html 自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源.而且由 ...

  3. [转帖]手把手教你在QEMU上运行RISC-V Linux

    https://kernel.0voice.com/forum.php?mod=viewthread&tid=3080   嵌入式Linux内核 发布于 2023-3-15 14:44:37  ...

  4. Springboot actuator的简单使用

    Springboot actuator的简单使用 简介 公司基于springboot研发的系统,开发已经默认集成了actuator 为了安全起见这个插件模式是不开启的. 今天与研发同事进行了沟通,简单 ...

  5. echarts设置单位的偏移

    echarts 可以设置的echarts单位的偏移位置吗? 之前是知道echarts的X和Y是可以设置单位的. 但是设置单位的位置一直不好调整. 现在有时间,我们会回答一下上面标题的问题? echar ...

  6. 【解决一个小问题】macbook m2 上交叉编译 gozstd

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 已知 zstd 是一个优秀的压缩库,gozstd封装了这个 ...

  7. 安装Docker填坑

    从官网下载适合win10使用的docker,但是下载后,出现了各种坑,记录一下解决方式 1.docker想要正常启动,需要做以下的准备,开启 Windows 虚拟化和 Linux 子系统(WSL2), ...

  8. python从新手到安装指南

    说到python我是跟着官方文档自学入门,本文适用于windows 操作系统,基于Inter和amd的CPU(涵盖市面80%的电脑) 下载和安装python 对于window操作系统的初学者,进入 p ...

  9. SqlSugar常见问题汇总

    1.已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭. There is already an open DataReader associated with this ...

  10. 搜索推荐DeepFM算法详解:算法原理、代码实现、比赛实战

    搜索推荐DeepFM算法详解:算法原理.代码实现.比赛实战 可以说,DeepFM 是目前最受欢迎的 CTR 预估模型之一,不仅是在交流群中被大家提及最多的,同时也是在面试中最多被提及的: 1.Deep ...