博客
关于我
站长常用Shell脚本整理分享11-20
阅读量:205 次
发布时间:2019-02-28

本文共 3109 字,大约阅读时间需要 10 分钟。

本文档的版权归【微云智达教育】所有。

https://www.kancloud.cn/microcloud/btcn/1490093
https://www.kancloud.cn/microcloud/btcn/1505273

11、编写 nginx 启动脚本

#!/bin/bash# 编写 nginx 启动脚本 # 本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本# 如果本脚本名为/etc/init.d/nginx,则 service nginx start 就可以启动该服务# service nginx stop 就可以关闭服务# service nginx restart 可以重启服务# service nginx status 可以查看服务状态 program=/usr/local/nginx/sbin/nginxpid=/usr/local/nginx/logs/nginx.pidstart(){   if [ -f $pid ];then  echo  "nginx 服务已经处于开启状态"else  $programfistop(){   if [ -! -f $pid ];then  echo "nginx 服务已经关闭"else  $program -s stop  echo "关闭服务 ok"fi}status(){   if [ -f $pid ];then  echo "服务正在运行..."else  echo "服务已经关闭"fi} case $1 instart)  start;;stop)  stop;;restart)  stop  sleep 1  start;;status)  status;;*)  echo  "你输入的语法格式错误"esac

12、自动对磁盘分区、格式化、挂载

#!/bin/bash # 自动对磁盘分区、格式化、挂载# 对虚拟机的 vdb 磁盘进行分区格式化,使用<
<将需要的分区指令导入给程序 fdisk# n(新建分区),p(创建主分区),1(分区编号为 1),两个空白行(两个回车,相当于将整个磁盘分一个区)# 注意:1 后面的两个回车(空白行)是必须的!fdisk dev vdb << eofnp1 wqeof #格式化刚刚创建好的分区mkfs.xfs vdb1 #创建挂载点目录if [ -e data ]; thenexitfimkdir #自动挂载刚刚创建的分区,并设置开机自动挂载该分区echo ' xfs defaults 1 2'>
> /etc/fstabmount -a

13、自动优化 Linux 内核参数

#!/bin/bash# 自动优化 Linux 内核参数 #脚本针对 RHEL7cat >> /usr/lib/sysctl.d/00‐system.conf <

14、切割 Nginx 日志文件(防止单个文件过大,后期处理很困难)

#mkdir  /data/scripts#vim   /data/scripts/nginx_log.sh  #!/bin/bash# 切割 Nginx 日志文件(防止单个文件过大,后期处理很困难) logs_path="/usr/local/nginx/logs/"mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").logkill -USR1  `cat /usr/local/nginx/logs/nginx.pid` # chmod +x  /data/scripts/nginx_log.sh# crontab  ‐e                    #脚本写完后,将脚本放入计划任务每天执行一次脚本0  1  *  *   *   /data/scripts/nginx_log.sh

15、检测 MySQL 数据库连接数量

#!/bin/bash# 检测 MySQL 数据库连接数量  # 本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置为开机启动脚本,或在特定时间段执行# 以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常# 本案例中的用户名和密码需要根据实际情况修改后方可使用log_file=/var/log/mysql_count.loguser=rootpasswd=123456while :do    sleep 2    count=`mysqladmin  -u  "$user"  -p  "$passwd"   status |  awk '{print $4}'`    echo "`date +%Y‐%m‐%d` 并发连接数为:$count" >> $log_filedone

16、根据 md5 校验码,检测文件是否被修改

#!/bin/bash# 根据 md5 校验码,检测文件是否被修改 # 本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,您可以修改为其他目录或文件# 本脚本在目标数据没有被修改时执行一次,当怀疑数据被人篡改,再执行一次# 将两次执行的结果做对比,MD5 码发生改变的文件,就是被人篡改的文件for i in $(ls /etc/*.conf)do	md5sum "$i" >> /var/log/conf_file.logdone

17、检测 MySQL 服务状态

#!/bin/bash# 检测 MySQL 服务是否存活  # host 为你需要检测的 MySQL 主机的 IP 地址,user 为 MySQL 账户名,passwd 为密码# 这些信息需要根据实际情况修改后方可使用host=192.168.51.198user=rootpasswd=123456mysqladmin -h '$host' -u '$user' -p'$passwd' ping &>/dev/nullif [ $? -eq 0 ]then        echo "MySQL is UP"else        echo "MySQL is down"fi

18、备份 MySQL 的 shell 脚本(mysqldump版本)

#!/bin/bash# 备份 MySQL 的 shell 脚本(mysqldump版本)  # 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签)# dbname(需要备份的数据库名称,根据实际需求需要修改该变量的值,默认备份 mysql 数据库) user=rootpasswd=123456dbname=mysqldate=$(date +%Y%m%d) # 测试备份目录是否存在,不存在则自动创建该目录[ ! -d /mysqlbackup ] && mkdir /mysqlbackup# 使用 mysqldump 命令备份数据库mysqldump -u "$user" -p "$passwd" "$dbname" > /mysqlbackup/"$dbname"-${date}.sql

19、将文件中所有的小写字母转换为大写字母

#!/bin/bash# 将文件中所有的小写字母转换为大写字母  # $1是位置参数,是你需要转换大小写字母的文件名称# 执行脚本,给定一个文件名作为参数,脚本就会将该文件中所有的小写字母转换为大写字母tr "[a‐z]" "[A‐Z]" < $1

20、非交互自动生成 SSH 密钥文件

#!/bin/bash# 非交互自动生成 SSH 密钥文件  # ‐t 指定 SSH 密钥的算法为 RSA 算法;‐N 设置密钥的密码为空;‐f 指定生成的密钥文件>存放在哪里rm  -rf  ~/.ssh/{   known_hosts,id_rsa*}ssh‐keygen -t RSA -N '' -f ~/.ssh/id_rsa

转载地址:http://eazp.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>