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

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

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        $program}stop() {    if [ -f $pid ]; then        echo "关闭服务 ok"        $program -s stop    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 << EOFnp 1wqEOF# 格式化刚刚创建好的分区mkfs.xfs vdb1# 创建挂载点目录if [ -e data ]; then    exitfimkdir data# 自动挂载刚刚创建的分区,并设置开机自动挂载该分区echo 'xfs defaults 1 2' > /etc/fstabmount -a

13、自动优化 Linux 内核参数

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

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

#!/bin/bash# mkdir  /data/scriptsmkdir -p /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_file    done

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=mysqlddate=$(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/

你可能感兴趣的文章
OA项目之我的会议(会议排座&送审)
查看>>
OA项目之我的会议(查询)
查看>>
OA项目之我的审批(会议查询&会议签字)
查看>>
OA项目之项目简介&会议发布
查看>>
ObjC的复制操作
查看>>
Object c将一个double值转换为时间格式
查看>>
object detection之Win10配置
查看>>
object detection训练自己数据
查看>>
object detection错误Message type "object_detection.protos.SsdFeatureExtractor" has no field named "bat
查看>>
object detection错误之Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
查看>>
object detection错误之no module named nets
查看>>
Object of type 'ndarray' is not JSON serializable
查看>>
Object Oriented Programming in JavaScript
查看>>
object references an unsaved transient instance - save the transient instance before flushing
查看>>
Object 类的常见方法有哪些?
查看>>
Object-c动态特性
查看>>
Object.assign用法
查看>>
Object.create
查看>>
Object.defineProperty详解
查看>>
Object.keys()的详解和用法
查看>>