说明: 日常运维中经常会改服务器的ip地址。操作起来比较繁琐,下面是一个自动更改IP地址的脚本。脚本中的NETMASK和DNS可以根据自己的实际情况更改。 #!.../bin/bash #描述 :通过交互式将动态获取的ip地址静态化 #作者 :jerry_呈 #版本 :V1.0 read -p "请输入ip地址:" ip /usr/bin/ping -c 2 $ip..."$3"."1}'` #获取网卡名称 NAME=`ifconfig | head -1 | awk -F ":" '{print $1}'` #更改静态ip地址 cat > /etc/sysconfig...ip NETMASK=255.255.255.0 GATEWAY=$gw DNS1=202.102.192.68 EOF #重启网络服务 systemctl restart network 可根据自己的环境需求更改
说明: 日常运维中经常会改服务器的ip地址。操作起来比较繁琐,下面是一个自动更改IP地址的脚本。脚本中的NETMASK和DNS可以根据自己的实际情况更改。 #!.../bin/bash #描述 :通过交互式将动态获取的ip地址静态化 #作者 :jerry_呈 #版本 :V1.0 read -p "请输入ip地址:" ip /usr/bin/ping -c 2 $ip..."$3"."1}'` #获取网卡名称 NAME=`ifconfig | head -1 | awk -F ":" '{print $1}'` #更改静态ip地址 cat > /etc/sysconfig...ip NETMASK=255.255.255.0 GATEWAY=$gw DNS1=202.102.192.68 EOF #重启网络服务 systemctl restart network 可根据自己的环境需求更改
由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件。...: du -sh 的输入会自动转换单位,比如K、M、G,只过滤M会导致部分文件大小无法正常获取,例如第二个的270k。...同时使用了多个管道 较为繁琐,且管道过滤之后的只有文件大小,相对应的文件名丢失,后续的处理较麻烦,当然也可以使用数组等解决,因此放弃此方案。...更好的方法: 不要使用带单位的输出,直接使用ls -l 的输出就可以作为相应的数据源。ls -l输出的结果以字节为单位,简单,容易处理。...总结:采用du -sh这种带自动单位换成的命令去处理,麻烦多多,有时候还是简单的使用"ls -l"比较好。
引言 在前一篇文章中,我们学习了 Shell 脚本的基础知识和语法。现在,让我们深入探讨 Shell 脚本在自动化任务中的实际应用。...我们可以使用 Shell 脚本编写一段简单的代码来批量处理这些文件。脚本示例:#!...现在,crontab 将会在每天凌晨自动执行备份脚本,将指定文件夹的内容备份到指定目录。同时,备份完成的信息也会追加到备份日志文件中。...这种结合 crontab 的方式,能够很好地实现定时任务的自动化执行,让我们能够更轻松地管理数据备份等重要任务。结语通过这些简单的示例,我们看到了 Shell 脚本在自动化任务中的应用。...通过掌握这些基本的脚本编写技巧,我们能够更好地利用 Shell 脚本来应对实际工作中的需求,实现自动化任务。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
由这个问题,引发了我的一些思考。他假定的场景是网站没有任何防护措施(就是在互联网上裸奔),好吧,既然没有任何的防护,在应急的时候,能不能通过脚本自动分析web日志,根据访问量自动拉黑ip?...脚本介绍 脚本设计思路:通过计划任务统计单位时间内的IP访问量,设定一个阀值,访问量超过阀值就自动拉黑。 #!.../bin/bash #该脚本可以根据web日志的访问量,自动拉黑IP(加入计划任务,结合计划任务在固定时间段内执行,并根据该时间段内产生的日志进行分析) #首先把日志保存到根目录一份,计算日志有多少行...2.启动虚拟机centos的防火墙 ? 3.把脚本加入计划任务 ? 4.用nikto模拟大量的访问 ? 5.再访问可以看到本地的IP已经无法访问网页 ?...总结: 这个脚本只是给出一个样例,里面的阀值num需要根据自己网站的访问量自行调整。也可以根据这个脚本来演化,比如基于访问特征拉黑ip,有兴趣的可以自己研究。
#!/bin/sh if [ $# -lt 1 ]; then echo "[FAILED]please input project name." ...
so谷歌了一下,写了一个脚本每30s判定一下进程是否存在,如不存在就自动拉起来。 #!
在文章中,我们写一个 shell 脚本,它在 crontab 中指定固定时间间隔监控磁盘使用情况,并在报告达到指定的阈值时通过电子邮件发送报告。...测试磁盘使用情况的脚本 以下是测试磁盘使用情况并将报告发送到指定邮箱的脚本。脚本的解释在代码片段之后给出。 [root@localhost ~]# vim disk-monitor.sh #!...监控脚本执行 下面需要修改一下disk-monitor.sh脚本的权限,为它添加可执行权限: [root@localhost ~]# chmod +x disk-monitor.sh 使用下面方式运行脚本.../disk-monitor.sh 自动化监控过程 手动运行脚本没有任何意义,因为我们希望自动运行该过程。自动运行该过程的最佳方法是将脚本添加到 crontab配置文件中。...脚本,它在 crontab 中指定固定时间间隔监控磁盘使用情况,并在报告达到指定的阈值时通过电子邮件发送报告。
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行。在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩。...需要注意的是,这段脚本仅适用数据一致性要求不高的环境。 #!
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。...rc.d/lighttpd restart 每一小时重启apache * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11点到早上7点之间,每隔一小时重启...]-用指定的文件替代目前的crontab。...cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表...例子 : 每天早上7点执行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup : 0
Shell 命令行,实现一个获取任意位数的随机密码的脚本 每次我们想要获得一个密码的时候都很头疼,于是我之前自己用nodejs写了一个 Shell 脚本。...这两天在学习 bash Shell 所以,想用同样的逻辑实现一个获取任意位数随机密码的脚本。...我成功了 :) 分析问题 我们假设我们需要的密码是大小写字母以及数字的组合,并且剔除掉 1,l,0,O,o 这些不便于认知的字符。 然后随机的读取其中的字符,组合成一个我们需要的密码,最后输出。.../bin/bash # 如果得到参数 则将得到的参数作为密码的位数,否则指定密码位数为8 if [ -n "$1" ]; then length=$1; else length=8; fi # 设定可以作为密码的字符串...以上脚本均在 mac 下测试通过,在 Linux 下可能会有稍许不同。
1.1 进入系统设置- 全局工具配置中配置 jdk maven git 不要勾选自动安装 jdk maven 使用的是环境变量中的地址 ? ? 2.开始新建一个jenkins任务 ?...版本控制这里使用的是git git的地址填进去 点击Add 添加 git的账号密码 然后在下拉框中选择刚刚新增的账号密码 ? ?...这里一般默认的触发器就行 如果你需要定时构建 比如每隔一段时间重新部署 或者每隔一段时间检测有没有提交 有提交就部署 ?...shell命令 shell脚本里面写的就是无非就是把编译好的war包放到对应的容器中去 然后启动容器 最关键得地方, 不同的项目.不同的容器这里的shell脚本肯定是有不一样,网络上的这类shell只能参考...就是相当于把上面的shell写到一个sh文件中 jenkins执行这个sh文件 ? 因为我便是jenkins和Tomcat在同一台linux上 所以这里就没有把shell脚本写在sh文件中 #!
1.1 进入系统设置- 全局工具配置中配置 jdk maven git 不要勾选自动安装 jdk maven 使用的是环境变量中的地址 ? ? ...版本控制这里使用的是git git的地址填进去 点击Add 添加 git的账号密码 然后在下拉框中选择刚刚新增的账号密码 ? ? ...这里一般默认的触发器就行 如果你需要定时构建 比如每隔一段时间重新部署 或者每隔一段时间检测有没有提交 有提交就部署 ? ...shell命令 shell脚本里面写的就是无非就是把编译好的war包放到对应的容器中去 然后启动容器 最关键得地方, 不同的项目.不同的容器这里的shell脚本肯定是有不一样,网络上的这类shell...因为我便是jenkins和Tomcat在同一台linux上 所以这里就没有把shell脚本写在sh文件中 #!
使得frps的日志文件里整页都是这些记录,让人看了十分害怕,当时我被迫暂停ssh的内网穿透服务,向这位骇客妥协了。 今天闲来无事,遂决定写一个脚本来自动ban这些恶意连接的ip。...实现过程 经过一些周折之后写完了以下shell脚本 #!...写完了脚本,那我们怎么让它定时自动执行呢? 这里我用到了crontab这个强大的工具。...在Ubuntu Server 20.04 LTS中只需要在/etc/crontab文件中添加一条以下的记录,即可实现每分钟自动运行。...战术总结 通过这次实践熟悉了shell编程的强大之处、了解iptables命令的基本用法、了解crontab强大的定时执行功能 虽然好像今天没有恶意ip来连接我ssh了,测试都是用的我自己的手机2333
背景 之前写的AutoBan 1.0脚本在写好后的很长一段时间里都没什么人来爆破我的8022端口,以至于我觉得这种情况将一直持续下去。...为什么我的autoban.sh没有ban掉它们? 我看了一下我的autoban.log。 我发现了我的AutoBan的重大问题,那个脚本是如何判断的呢?...,还是两个ip几乎交叉请求,我的自动ban脚本一代无能为力,同时还有一个不利因素,就是我之前因为没人来扫我,我就把脚本自动运行时间设置成了5分钟,也大大降低了脚本的威力。...解决办法 由于一代脚本写的过于蹩脚,判断条件也过于拉跨,遂决定重构。 2代脚本的判断条件: 筛选出最近一分钟的所有ssh记录。对其ip种类、个数进行统计。 大于3条请求的ip将被直接封禁。...了解了shell中遍历数组的两种方法 for ip in {ips[@]} 表示便利数组里的值,而 for ip in {!ipinfo[@]} 即在数组名前加上叹号,则表示遍历下标。
Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文件夹下面...日积月累,我们的文件会越来越多。手工整理这些文件是比较繁琐的工作,于是,我就思考,我能不能用 shell 来自动整理这些下载的文件。 说干就干。...为了避免破坏我本地的文件,我自己搞了一个虚拟机跑了一个 centos 然后写下了如下的脚本。 第一版代码(处理文件名带空格的文件会出错) #!...echo 最终命令,和实际执行的结果不一定是一致的。 find .....*" 表示不找隐藏文件 以上脚本均在 centos 和 MAC 下测试通过,在其他 linux 下可能会有稍许不同。
像这样每天或者每个固定时间段都做相同的重复工作,为了简化重复的工作,我写了基于liunx服务器的自动巡检脚本,在crontab中设定一个固定时间进行自动执行即可,以减少人工重复劳动的工作。...脚本旨在针对大量Linux服务器的巡检提供一种相对自动化的解决方案。...脚本用法: 将要巡检的服务器的IP地址和对应的密码全部放入file.txt中保存,每行一个IP对应一个密码即可。...123456为该服务器的密码。...ip,123456是被巡检的服务器密码。
fi done } os_release() { if [ $USER = "root" ] then sudoc=" " # 判断字符串的等号要加空格...,否则无法判断 else sudoc="sudo" echo "当前为普通用户,需要输入root 密码......selectFlag=1 ;; "2") echo "当前选择官方下载..." ; selectFlag=2 ;; *) echo "输入错误,请重新执行脚本...|sort |uniq -c | awk -F" " '{print $1}'` ; if [[ "$cutNumber" = "" ]] # 判断变量的数值大小...) { debCheck; os_release; downURL_select; RunInstall } main # 一键安装: wget ddoss.cn/file/ubuntu/shell
创建bakmysql.sh脚本。脚本如下: #!...# -mtime +30 按照文件的更改时间来查找文件,+30表示文件更改时间距现在30天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。...# -exec rm -rf {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。...#数据库备份的位置 backupdir=/home/mysqlbak time=` date +%Y%m%d%H%M%S` #需要备份的数据库的连接的用户名和密码和数据库 #mysql_bin_dir/...测试执行mysqldump,理解必备的参数,查看生成的sql备份文件是否符合需求 第一步:将编写好的脚本放到数据库的服务器上如下图: ?
所以尝试修改管理员密码,谷歌后找到了一个加密脚本可以生成密码; import bcrypt password = "password" salt = bcrypt.gensalt(rounds=10)...> 想法是直接将其更改为反向shell并重新压缩它 ❯ cat reference/shell.php <?...cp /root/index.php /var/www/html/backdrop/index.php fi 每隔一段时间,它就会更改 index.php 文件并调用它,似乎只要 heartbeat.sh...将其更改为 php 反向 shell可以弹回一个shell。.../script.sh 运行脚本时,我们在自己的机器上接收 shell; 至此,完成了docker容器的逃逸,整个渗透过程结束。
领取专属 10元无门槛券
手把手带您无忧上云