摘要:1.生成随机密码(urandom 版本)#!/bin/bash#/dev/urandom 文件是 Linux 内置的随机设备文件#cat /dev/urandom 可以看看里面的内容,ctrl+c 退出查看#查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号#t
阅读全文
摘要:#!/bin/bash#能被 4 整除并且并 100 整除的年是闰年#能被 400 整除的年也是闰年 read -p "请输入一个年份:" yearif [ "$year" = "" ];then echo "没有输入年份" exitfi #使用正则测试变量 year 中是否包含大小写字母if [[
阅读全文
摘要:#!/bin/bash#awk 判断 ps 命令输出的第 8 列为 Z 是僵尸进程,显示该进程的 PID 和进程命令 ps aux |awk '{if($8 == "Z"){print $2,$11} }'
阅读全文
摘要:#!/bin/bash#/var/www/html 为测试目录,脚本会清空该目录下所有 0 字节的文件 dir="/var/www/html"find $dir -type f -size 0 -exec rm-rf {} \;
阅读全文
摘要:#!/bin/bash# 找到包含vendor_id的行打印第3列去重显示 awk '/vendor_id/{print $3}' /proc/cpuinfo | uniq
阅读全文
摘要:#!/bin/bash#清屏,显示警告信息,创建将磁盘转换为逻辑卷会删除数据clearecho -e "\033[32m!!!!!!警告(Warning)!!!!!!\033[0m"echoecho "+++++++++++++++++++++++++++++++++++++++++++++++++
阅读全文
摘要:#!/bin/bash#设置变量定义需要添加到防火墙规则的服务和端口号#使用 firewall-cmd --get-services 可以查看 firewall 支持哪些服务 service="nfs http ssh"port="80 22 8080" #循环将每个服务添加到防火墙规则中for i
阅读全文
摘要:#!/bin/bash #设置变量,url 为你需要检测的目标网站的网址(IP 或域名)url=http://192.168.4.5/index.html #定义函数 check_http:#使用 curl 命令检查 http 服务器的状态#-m 设置 curl 不管访问成功或失败,最大消耗的时间为
阅读全文
摘要:#!/bin/bashif [ $# -eq 0 ];then echo "你需要制定一个软件包名称作为脚本参数" echo "用法:$0 软件包名称 ..."fi #$@提取所有的位置变量的值,相当于$*for package in "$@"do if rpm -q ${package} &>/d
阅读全文
摘要:#!/bin/bash#-t 指定 SSH 密钥的算法为 RSA 算法;-N 设置密钥的密码为空;-f 指定生成的密钥文件存放在哪里 rm -rf ~/.ssh/{known_hosts,id_rsa*}ssh-keygen -t RSA -N '' -f ~/.ssh/id_rsa
阅读全文
摘要:#!/bin/bash#$1 是位置参数,是你需要转换大小写字母的文件名称#执行脚本,给定一个文件名作为参数,脚本就会将该文件中所有的小写字母转换为大写字母 tr "[a-z]" "[A-Z]" < $1
阅读全文
摘要:#!/bin/bash#定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签)#dbname(需要备份的数据库名称,根据实际需求需要修改该变量的值,默认备份 mysql 数据库) user=rootpasswd=123456dbname=mysqldate=$(d
阅读全文
摘要:#!/bin/bash#host 为你需要检测的 MySQL 主机的 IP 地址,user 为 MySQL 账户名,passwd 为密码#这些信息需要根据实际情况修改后方可使用 host=127.0.0.1user=rootpasswd=123456 mysqladmin -h 127.0.0.1
阅读全文
摘要:#!/bin/bash#本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,可以修改为其他目录或文件#本脚本在目标数据没有被修改时执行一次,当怀疑数据被人篡改,再执行一次#将两次执行的结果做对比,MD5 码发生改变的文件,就是被人篡改的文件 for i in $(ls /e
阅读全文
摘要:#!/bin/bash#本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置为开机启动脚本,或在特定时间段执行#以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常#本案例中的用户名和密码需要根据实际情况修改后方可使用 log_file=/var/log/mysql_
阅读全文
摘要:mkdir /data/scriptsvim /data/scripts/nginx_log.sh #!/bin/bashlogs_path="/usr/local/nginx/logs/"mv ${logs_path}access.log ${logs_path}access_$(date -d
阅读全文
摘要:#!/bin/bash#对虚拟机的 vdb 磁盘进行分区格式化,使用<<将需要的分区指令导入给程序 fdisk#n(新建分区)#p(创建主分区)#1(分区编号为 1),两个空白行(两个回车,相当于将整个磁盘分一个区)#注意:1 后面的两个回车(空白行)是必须的! fdisk /dev/vdb <<
阅读全文
摘要:#!/bin/bash#本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本#如果本脚本名为/etc/init.d/nginx,则 #service nginx start 就可以启动该服务#service nginx stop 就可以关闭服务#serv
阅读全文
摘要:#!/bin/bash#先使用 grep 判断对象脚本是否已经有解释器信息,如果没有则使用 sed 添加解释器以及描述信息if ! grep -q "^#!" $1; then #带参数 sed -i '1i #!/bin/bash' $1fi
阅读全文
摘要:#!/bin/bash#使用 ls 递归显示所有,再判断是否为文件,如果是文件则计数器加 1cd /var/logsum=0for i in `ls -r *`do if [ -f $i ];then let sum++ echo "文件名:$i" fidoneecho "总文件数量为:$sum"
阅读全文