网络连通测试脚本
这个脚本会自动记录成功与不成功到文件,我们只要定时发送失败文件到邮箱就能知道服务器那些时间断了网. DATE=`date +%Y年%m月%d日%H:%M` ping -c1 www.baidu98798sdf987sd89f.com >/dev/null 2>&1 && echo $DATE "网络测试结果为:success" >> /var/log/ping_ok.log || echo $DATE "网络测试结果为:failed" >> /var/log/ping_error.log
解决putty自动断开的问题
报错: Network errorSoftware caused connection abort 1. 在PuTTY的Connection项目中设定"Sending of null packets to keep session active" 也就是每隔几秒传送一个 null packet 让 session不会 timeout . 2. 启用 sshd host 的 /etc/ssh/sshd_config 设定值: TCPKeepAlive yes .
CentOS下shell脚本实现windows的回收站功能
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,因为回收站脚本需要调用 rm.bak这个命令. cp -rp rm.sh /bin/rm //将你的脚本文件rm.sh 覆盖成/bin/rm文件 chmod +x /bin/rm //赋予/bin/rm可执行权限 echo "0 8 * * 6 /bin/sh /fmnp/soft/clean-dump.sh " >>/var/spool/cron/tabs/root //为了防止 /dump-file目录过大,采取每周进行一次删除操作,脚本如下: #!/bin/bash /bin/rm.bak -rf /dump-file/* /bin/rm.bak -rf /tmp/*.rm-dump 保存退出. mkdir /dump-file && chmod -R 777 /dump-file //创建/dump-file 目录并给予所有用户可写的权限. 脚本如下: #!/bin/bash DumpFile=/dump-file/ File=echo $line|awk '{print $2}' aa=$(echo $1|grep "^-") DumpLog="whoami-date +%m-%d-%H-%M.rm-dump" function TestDir() { Test_Dir=$(echo $line|grep "/") #test if is a directory. ...
linux下实现链路聚合
CentOS 双网卡绑定实现负载均衡或容错. 在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding.bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的.下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起.我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担.但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下.bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧.然后把相应的数据帧传送给bond驱动程序处理. 其实在 linux 将双网卡绑定成一块网卡,配置起来非常简单,只需要简单几个步骤即可实现,下面我们就一起来体验一下吧.首先,还是将本次实验的环境做个简单的介绍: 操作系统:CentOS 5.5 x86. 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片. 1.先修改eth0 和eht1这2个网卡配置文件.目录在(/etc/sysconfig/network-scripts/)如下: DEVICE=eth0 ONBOOT=yes MASTER=bond0 #也可没有该项 BOOTPROTO=none 2.eth1也是同样的修改.如下: DEVICE=eth1 ONBOOT=yes MASTER=bond0...
使用chkrootkit工具保护服务器
安装chkrootkit,你可以自己去 http://www.chkrootkit.org/download/ 下载源码包,然后自己编译,也可以和我一样偷懒用别人做好的二进制包. centos 下用非官方源安装chkrootkit: 首先添加dag 源for centos(我的系统是centos5.2). vi /etc/yum.repos.d/dag.repo [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt yum 安装chkrootkit: yum update yum install chkrootkit chkrootkit的应用: chkrootkit 的使用非常简单直接运行 chkrootkit 命令,然后会有如下输出: ROOTDIR is '/' Checking 'amd'… not found Checking 'basename'… not infected Checking 'biff'… not found Checking 'chfn'… not infected Checking 'chsh'… not infected Checking 'cron'… not infected Checking 'crontab'… not infected Checking 'date'… not infected Checking 'du'… not infected Checking 'dirname'… not infected Checking 'echo'… not infected Checking 'egrep'… not infected Checking...
linux temfs与/dev/shm探讨及其应用
什么是tmpfs? tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使用您的内存或swap分区来存储文件.由此可见,temfs主要存储暂存的文件. linux内核中的VM子系统负责在后台管理虚拟内存资源Virtual Memory,即RAM和swap资源,透明地将RAM页移动到交换分区或从交换分区到RAM页,tmpfs文件系统需要VM子系统的页面来存储文件.tmpfs自己并不知道这些页面是在交换分区还是在RAM中;做这种决定是VM子系统的工作.tmpfs文件系统所知道的就是它正在使用某种形式的虚拟内存. tmpfs基于内存,因而速度是相当的,另外tmpfs使用的VM资源是动态的,当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源,当然在其中创建文件时也会动态的分配VM资源.另外,tmpfs不具备持久性,重启后数据不保留,原因很明显,它是基于内存的. 编译内核时,启用"Virtual memory file system support"就可以使用tmpfs,linux kernel从2.4以后都开始支持tmpfs.目前主流的linux系统默认已启用tmpfs,如Redhat. 什么是 /dev/shm? 看到dev大家都使知道它是一个设备文件.使用tmpfs文件系统,在Redhat/CentOS等linux发行版中默认大小为物理内存的一半.如我的虚拟机装的是CentOS6.0,分配内存为1G,所以 /dev/shm为500M左右. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 8.8G 4.0G 4.5G 48% / tmpfs 499M 88K 499M 1% /dev/shm /dev/sda1 97M 43M 50M 47%...