linux shell脚本之if判断

无论什么编程语言都离不开条件判断。SHELL也不例外。       if list then do something here elif list then do another thing here else do something else here fi EX1: #!/bin/sh SYSTEM=`uname -s`    #获取操作系统类型,我本地是linux if [ $SYSTEM = “Linux” ] ; then     #如果是linux的话打印linux字符串 echo “Linux” elif [ $SYSTEM = “FreeBSD” ] ; then echo “FreeBSD” elif [ $SYSTEM = “Solaris” ] ; then…

Continue Reading

ftp上传下载shell脚本

工作中,通过ftp反复上传下载大文件来测试路由器的稳定性。 一共有两个脚本: 1  ftp.sh,主要调用这个脚本,内容如下, ———————————————————————————————————- #!/bin/bash # script function: # 1 run ftp to upload and download file every fixed minutes; # 2 check host online or not before every ftp loop; # 2015/04/19 Attaboy first release # 2015/05/08 Attaboy modified. # 2015/05/15 Attaboy modified. # 2015/05/19 Zhu Li modified. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/~bin export PATH # kill…

Continue Reading

ftp上传下载windows批处理script

::########################################################################### ::  脚本说明 ::1、笔记本作为无线客户端连接云路由; ::2、首先在笔记本手工测试FTP功能; ::3、调用FTP 批处理脚本测试FTP功能; ::注:FTP脚本执行动作有: ::1)在FTP服务器上创建和删除目录; ::2)上传和下载文件,文件大小默认为100m,可修改; ::3)在文件上传和下载结束之后会打印结束时间,具体日志文件ftplog.log在c:\test下; ::4)FTP测试脚本默认条件下会无限循环执行,除非人为中断; ::  测试备注: ::  1  因为云路由只有上电和掉电来重启和关闭; ::  2  请据实际情况在下面代码合适位置修改ftp服务器的ip地址、用户名和密码,比如修改ftp的ip地址为10.0.0.110,用户名和密码均为snake如下, ::echo open 10.0.0.110 >> c:\test\ftp_internet\FTPtest.txt ::echo user snake snake >> c:\test\ftp_internet\FTPtest.txt ::########################################################################### @echo off color 0a title FTP文件上传下载循环测试脚本 mode con:cols=80 lines=25 @echo —————————————————————————————— @echo ———————–windows 批处理脚本 ftp上传下载测试——————————— :NEXT ::create file in fixed size dir c:\test\ftp_internet…

Continue Reading

ping-check

@echo off color 0a title ping check script mode con:cols=80 lines=40 dir c:\ping_log || mkdir c:\ping_log cls echo %time% %date% 开始测试 >> ping.log :loo echo 正在进行ping检测,请稍候… echo ^|^| echo ^|^| ping -n 2 127.1 1>nul 2>nul echo ^|^| ping -n 2 127.1 1>nul 2>nul echo \/ ping -n 2 127.1 1>nul 2>nul ping -n 2…

Continue Reading

Linux网卡开启远程唤醒模式

一、简介 如果你家里电脑的出口IP是公网IP,那么你可以在办公室或家庭之外的网络远程唤醒家庭中的计算机,当然,这需要很多的设置才能完成,其中一个很重要的设置就是开启你电脑网卡的自动唤醒功能。下面以Linux主机为例,来说明设置方法。   二、设置方法 方法一:快捷设置,但是重启后失效 # ethtool -s eth0 wol g 再用 ethtool命令进行查看,会发现: Wake-on: g OK,目标机器的网卡已经支持了远程开机,下面我们得到它的本地MAC地址: 当机器重启后,eth0的设置又会回复到Wake-on: d 状态, 方法二:永久开启唤醒模式 编辑/etc/sysconfig/network-scripts/ifcfg-eth0 (eth0网卡的配置文件),添加上一行: ETHTOOL_OPTS=”wol g” wol的取值默认是d,含义是disable 修改后的值为g,含义是Wake on MagicPacket(tm) 它还有几个取值,分别是: p  Wake on phy activity u  Wake on unicast messages m  Wake on multicast messages b  Wake on broadcast messages a  Wake on ARP   三、通常Linux主机设置好远程唤醒功能后,有个诡异的现象,就是远程登录家庭Linux主机并执行关机后,Linux主机并没有关闭,而是重启,需要第二次发送关机信号才能真正关机,此前有段时间以为这是个bug,纠结了好久,现在看来,是个友好的体验,应该是防止远端用户的意外关机操作。

Continue Reading

win7更改网卡名称重名的问题

测试中用到四五个网卡, 机器用久了, 每次改网卡名称都会遇到重名的问题。 解决方法: 在注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\分支下各个connections对应的name , 如果是自己想要重命名的name,那么删除之,在运行ncpa.cpl更改网卡名称即可。

Continue Reading

Linux 性能监测:介绍

  看了某某教程、读了某某手册,按照要求改改某某设置、系统设定、内核参数就认为做到系统优化的想法很傻很天真:)系统优化是一项复杂、繁琐、长期的 工作,优化前需要监测、采集、测试、评估,优化后也需要测试、采集、评估、监测,而且是一个长期和持续的过程,不是说现在优化了,测试了,以后就可以一劳 永逸了,也不是说书本上的优化就适合眼下正在运行的系统,不同的系统、不同的硬件、不同的应用优化的重点也不同、优化的方法也不同、优化的参数也不同。性 能监测是系统优化过程中重要的一环,如果没有监测、不清楚性能瓶颈在哪里,优化什么呢、怎么优化呢?所以找到性能瓶颈是性能监测的目的,也是系统优化的关 键。系统由若干子系统构成,通常修改一个子系统有可能影响到另外一个子系统,甚至会导致整个系统不稳定、崩溃。所以说优化、监测、测试通常是连在一起的, 而且是一个循环而且长期的过程,通常监测的子系统有以下这些: CPU Memory IO Network 这些子系统互相依赖,了解这些子系统的特性,监测这些子系统的性能参数以及及时发现可能会出现的瓶颈对系统优化很有帮助。 应用类型 不同的系统用途也不同,要找到性能瓶颈需要知道系统跑的是什么应用、有些什么特点,比如 web server 对系统的要求肯定和 file server 不一样,所以分清不同系统的应用类型很重要,通常应用可以分为两种类型: IO 相关,IO 相关的应用通常用来处理大量数据,需要大量内存和存储,频繁 IO 操作读写数据,而对 CPU 的要求则较少,大部分时候 CPU 都在等待硬盘,比如,数据库服务器、文件服务器等。 CPU 相关,CPU 相关的应用需要使用大量 CPU,比如高并发的 web/mail 服务器、图像/视频处理、科学计算等都可被视作 CPU 相关的应用。 看看实际中的例子,第1个是文件服务器拷贝一个大文件时表现出来的特征: $ vmstat 1 procs ———–memory———- —swap– —–io—- –system– —–cpu—– r b swpd free buff cache si so…

Continue Reading

匿名FTP服务器自定义目录可写入配置

网上很多匿名FTP配置的教程都是基于vsftpd系统安装目录/var/ftp,但是实际应用中我们需要设置的目录很多情况下不是这个目录,经过自己的琢磨,来看看自定义目录的匿名可写入配置。 一、系统安全放行配置 (1)开放21端口 # service iptables stop //关闭iptables # iptables -A INPUT -p tcp –dport 21 -j ACCEPT (2)防火墙配置VSFTPD 被动端口开放: # iptables -A INPUT -p tcp –dport 30000:30100 -j ACCEPT //端口30000-30100只是举例,可以根据实际情况自定义 # service iptables save //保存iptables配置 # service iptables restart //重启防火墙 (3)SELINUX永久开启FTP支持 # setsebool -P ftp_home_dir on # setsebool -P allow_ftpd_full_access on # setsebool -P…

Continue Reading

Linux Shell 编程(转)

零、shell中的内部变量: 1.    $?:    表示shell命令的返回值. 2.    $$:    表示当前shell的pid. 3.    $!:    最后一个放入后台作业的PID值. 4.    $0:    表示脚本的名字. 5.    $1–$9,${10}: 表示脚本的第一到九个参数,和第十个参数. 6.    $#:    表示参数的个数. 7.    $*,$@: 表示所有的参数. 两者的区别如下: //都是双引号惹的祸^-^ /> set 'apple pie' pears peaches /> for i in $* >  do >  echo $i >  done        apple        pie        pears        peaches /> set 'apple…

Continue Reading