现在位置 >首页 > shell
2℃
2012年03月13日 shell ⁄ 被围观 12,029 次+
昨天写了linux下的shell脚本防ssh/vsftpd等暴力破解,平时所用的最多的也就是FreeBSD,今天在补一个FreeBSD下的,废话不多说,贴脚本如下: #!/bin/sh    SCANIP=`grep "Failed" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | awk '{print $1"="$2;}'`    for i in $SCANIP    do       NUMBER=`echo $i | awk -F= '{print $1}'`        SCANIP=`echo $i | awk -F= '{print $2}'`        echo "$NUMBER($SCANIP)"       if [ $NUMBER -gt 10 ] && [ -z "`/sbin/ipfw show | grep $SCA...
阅读全文

6℃
2012年03月06日 FreeBSD ⁄ 被围观 14,562 次+
最近服务器进行了转移,同时也需要把Cacti也给迁移到新的机房,按照往常的配置,在新服务器上配置好rrdtool snmpd等,将老服务器的数据转移到新服务器后,打开cacti可以正常登录和控制,检查graph management,打开所有的图无显示;于是打开debug模式: *Turn . Graph Debug Mode. RRDTool Says: ERROR: This RRD was created . other architecture google、baidu了一下,发生这个问题的原因是因为所有rrd库需要全部重新dump和restore一次;找到原因就好办了,先从老的服务器dump所有的rrd文件为xml文件,脚本如下...
阅读全文
FreeBSD下shell监控一个进程是否存在 [原创]已关闭评论
2012年02月24日 shell ⁄ 被围观 10,816 次+
由于之前的一个系统要使用队列服务(httpsqs),所以写了一个php脚本定期处理队列数据写入数据库,而这个php脚本是挂在后台循环运行的。一直运行的很好,不知道最近怎么回事,老是不定时的挂掉自动退出,目前原因不明。于是就写了一个shell脚本暂时来监视这个进程,发现进程不在时重新启动这个php脚本,并记录日志,方便查看。代码如下: #!/bin/sh       while true   do       if ps aux | grep -v grep | grep getsqs.php >/dev/null 2>&1       then            echo "getsqs.php is run properly!...
阅读全文
4℃
2012年02月02日 shell ⁄ 被围观 10,585 次+
由于经常在FreeBSD下管理ftp用户,比如添加、修改、删除之类的,操作也就那几步,但是经常操作就显得麻烦了,所以就写了这么一个简单的管理脚本。不妥之处望批评指教,操作很简单 添加用户:./add_ftp_user.sh -a username:password user_ftp_path 修改用户:./add_ftp_user.sh -e username:password user_ftp_path 删除用户:./add_ftp_user.sh -d username FreeBSD下源码安装Vsftpd配置虚拟用户,可参考:FreeBSD下源码安装Vsftpd配置虚拟用户 使用此脚本需要修改perl脚本如下: #! /usr/bin/perl -w    #fil...
阅读全文
1℃
2012年01月17日 shell ⁄ 被围观 10,981 次+
利用shell命令操作Memcached 数据存储(假设key为test,value为12345) printf "set test 0 0 5\r\n12345\r\n" | nc 127.0.0.1 12000   STORED 数据取回(假设key为test) printf "get test\r\n" | nc 127.0.0.1 12000   VALUE test 0 5 12345 END 数值增加1(假设key为test,并且value为正整数) printf "incr test 1\r\n" | nc 127.0.0.1 12000   12346 数值减少3(假设key为test,并且value为正整数) printf "decr test 3\r\n" | nc 127.0.0.1 12000   12343 数据删除(假设key为test) ...
阅读全文
Linux生产服务器LNMP全自动安装脚本已关闭评论
2011年10月20日 shell ⁄ 被围观 10,394 次+
【51CTO独家特稿】此脚本在生产服务器上使用了一年多,可以在任何一台有网络的服务器上自动配置LNMP。 使用方法:将下面shell代码保存一个文件,例如: auto_lnmp.sh上传到服务器上执行。此脚本在CentOS 5.6 i386/x86_64环境下通过。bash auto_lnmp.sh出现提示,如下图所示:         根据大家自己的需要选择数字中任意一个,开始全自动安装LNMP的世界中去吧。 如果之前安装过nginx或者php的话,脚本会自动检测它们是不是安装过,如下图所示:             &n...
阅读全文
7℃
2011年05月17日 shell ⁄ 被围观 25,066 次+
脚本功能: 1、在用户执行rm命令时,将文件移动/dump-file/ ,被移动到dump-file 目录下的文件、文件夹以原文件名+删除除的日期格式存放,如 rm.sh 在删除后就会被自动移动到/dump-file/ 下并命名为rm.sh_2011-05-17_11:18:21.bak 2、此命令在执行时会检测文件或目录的大小,如果文件或目录超过2GB,将不会再将文件移动到回收站,而会直接删除,此功能是为了避免回收站过大而对系统造成影响 安装方法: cp -rp /bin/rm /bin/rm.bak    //将系统原有rm 命令改成rm.bak,记住 一定要改成rm.bak,因为回收站脚本需要...
阅读全文
FreeBSD下shell脚本监控系统负载 [原创]已关闭评论
2011年05月17日 shell ⁄ 被围观 9,571 次+
FreeBSD下shell脚本监控系统负载(系统15分钟内负载) 环境:FreeBSD 7.4 使用方法: sh load.sh 0.01 或 ./load.sh 0.01 //0.01为报警阈值,如不跟此参数则使用脚本中设置默认的0.60报警,由于是测试我们就用于小于当前测试系统负载的0.01来测试 代码如下: #!/bin/sh    VALUE=$1   VALUE=${VALUE:-"0.60"}    LOAD=`/usr/bin/uptime | awk -F 'load averages:' '{print $2}' | sed 's/,//' | sed 's/,//' | awk '{print $3}'`    DATE=`/bin/date +%F\ %H:%M:%S`    IP=`/sbin/ifconfig | grep "inet" |...
阅读全文
4℃
2011年05月16日 shell ⁄ 被围观 13,393 次+
FreeBSD下shell脚本监控磁盘使用率 环境:FreeBSD 7.4 使用方法: sh disk.sh 80 或 ./disk.sh 80 80为报警阈值,如不跟此参数则使用脚本中设置默认的90%报警 代码如下: #!/bin/sh    VALUE=$1   VALUE=${VALUE:-"90"}    DATE=`/bin/date +%F\ %H:%M:%S`    IP=`/sbin/ifconfig | grep "inet" | grep -v "127.0.0.1" | grep -v "inet6" | awk '{print $2;}'`    LINE=`df -h | grep -v devfs | grep -v Filesystem | grep -v grep | awk '{print NR}' |xargs`    for i in $LINE   do       USE=`df -h ...
阅读全文
2℃
2011年05月13日 shell ⁄ 被围观 26,232 次+
超级shell脚本写的俄罗斯方块游戏,真的很佩服! 点我下载 代码如下: #!/bin/bash       # Tetris Game       #APP declaration    APP_NAME="${0##*[\\/]}"   APP_VERSION="1.0"         #颜色定义    cRed=1   cGreen=2   cYellow=3   cBlue=4   cFuchsia=5   cCyan=6   cWhite=7   colorTable=($cRed $cGreen $cYellow $cBlue $cFuchsia $cCyan $cWhite)       #位置和大小    iLeft=3   iTop=2   ((iTrayLeft = iLeft + 2))    ((iTrayTop = iTop + 1))    ((iTrayWidth = 10))    ((iTrayHeight = 15))  ...
阅读全文