【开发工具】Linux 服务器 Shell 脚本简单应用(MySql备份等脚本)
上一章介绍完基础【开发工具】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备份等脚本)的更多相关文章
- 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式
		(一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ... 
- 调用远程linux服务器shell脚本
		package com.haiyisoft.hyoaPc.ui; import java.io.BufferedReader;import java.io.IOException;import jav ... 
- Linux Bash Shell j简单入门
		BASH 的基本语法 最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 ... 
- Python开发工具,服务器框架等
		python服务器框架:uWSGI WEB服务器.mod_WS.Meinheld.Gunicorn.CherryPy.Bjoern 查看python内部模块命令,内置函数,查看python已经安装的模 ... 
- Linux服务器下对Oracle作Rman备份
		由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅. ------------------------Linux服务器 ... 
- Linux服务器部署系列之二—MySQL篇
		MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ... 
- Linux 网站文件和数据库全量备份 一键脚本(支持FTP,Google Drive)
		原文连接: https://teddysun.com/469.html 此文为转载,建议查看秋水大神的原文,排版更容易查看,另外,建议查看脚本源码,方便了解脚本运行过程, 脚本已测试,大神的脚本一如既 ... 
- linux 简单的mysql备份和导入,以及文件的备份和导入
		一,数据库的备份与导入 1),数据库的备份 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 例:mysqldump -u dbadmin -p myblo ... 
- mysql 备份解密脚本
		#!/bin/bash #by sk 备份解码脚本 echo "-------------------------------------------------" functio ... 
- (转)开发监控Linux 内存 Shell 脚本
		原文:http://blog.csdn.net/timchen525/article/details/76474017 题场景: 开发Shell 脚本判断系统剩余内存的大小,如果低于100MB,就邮件 ... 
随机推荐
- [转帖]整理常用的 vim 命令
			vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学 ... 
- OpenEuler2203使用rpm方式安装Oracle19c的过程
			OpenEuler2203使用rpm方式安装Oracle19c的过程 安装介质 oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm oracle-d ... 
- vue3中retive的错误用法导致数据不跟新
			retive的错误用法 <template> <div> 司藤的信息==>{{ objInfo }} <button @click="handerHttp ... 
- 开源OpenIM:高性能、可伸缩、易扩展的即时通讯架构
			网上有很多关于IM的教程和技术博文,有亿级用户的IM架构,有各种浅谈原创自研IM架构,也有微信技术团队分享的技术文章,有些开发者想根据这些资料自研IM.理想很丰满,现实很骨感,最后做出来的产品很难达到 ... 
- Docker中Nginx部署go应用
			docker配合Nginx部署go应用 Nginx 名词解释 正向代理 反向代理 构建镜像 Nginx镜像 配置nginx.conf server_name Nginx中的负载均衡 轮询 upstre ... 
- 4.4 EAT Hook 挂钩技术
			EAT(Export Address Table)用于修改动态链接库(DLL)中导出函数的调用.与IAT Hook不同,EAT Hook是在DLL自身中进行钩子操作,而不是修改应用程序的导入表.它的原 ... 
- PE格式:VA地址与FOA地址
			PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如 ... 
- Linux 系统下查找文件命令
			Linux 系统下查找文件命令,融合多部Linux经典著作,去除多余部分,保留实用部分. 查命令绝对路径: which用于查找并显示给定命令的绝对路径,环境变量中PATH参数也可以被查出来. [roo ... 
- org.apache.hadoop.security.AccessControlException: Queue root.online already has 0 applications, cannot accept submission of application
			org.apache.hadoop.security.AccessControlException: Queue root.online already has 0 applications, can ... 
- Vulkan学习苦旅02:看不见的窗口(创建VkInstance与VkSurfaceKHR)
			在上一节中,我们搭建了学习Vulkan所需的环境.今天,我们将会初步了解"地图"顶层的内容. 如图所示,"地图"的顶层有两个模块: Instance和Surf ... 
