网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置 ,通过 telnet 和ethernet建立与linux之间的网络链接,查看linux的服务器信息等。下面让我们看看在linux下的网络和监控命令的使用。
1. hostname
复制代码 代码如下:
hostname 没有选项,显示主机名字
hostname –d 显示机器所属域名
hostname –f 显示完整的主机名和域名
hostname –i 显示当前机器的ip地址
2. ping
ping 将数据包发向用户指定地址。当包被接收。目标机器发送返回数据包. ping 主要有两个作用
1. 用来确认网络连接是畅通的。
2. 用来查看连接的速度信息。
如果你 ping 它将返回它的ip地址 。你可以通过 ctrl+C 来停止命令。
3. ifconfig
查看用户网络配置。它显示当前网络设备配置。对于需要接收或者发送数据错误查找,这个工具极为好用。
4. iwconfig
iwconfig 工具与 ifconfig 和ethtool类似。是用于无线网卡的 . 你可以用他查看设置基本的Wi-Fi 网络信息,例如 SSID,channel和encryption.还有其他很多配置你也可以查看和修改,, 包括 接收灵敏度, RTS/CTS, 发送数据包的分片大小,以及无线网卡的重传机制
5. nslookup
nslookup 这个命令在 有ip地址时,可以用这个命令来显示主机名,可以找到给定域名的所有ip地址。而你必须连接到互联网才能使用这个命令
例子
复制代码 代码如下:
nslookup blogger.com
你也可以使用 nslookup 从ip获得主机名或从主机名获得ip。
6. traceroute
一个方便的工具。可用来查看数据包在提交到远程系统或者网站时候所经过的路由器的IP地址、跳数和响应时间。同样你必须链接到互联网才能使用这个命令
7. finger
查看用户信息。显示用户的登录名字、真实名字以及登录终端的名字和登录权限。这是unix一个很老的命令,现在已很少使用了
8. telnet
通过telnet协议连接目标主机,如果telnet连接可以在任一端口上完成即代表着两台主机间的连接良好。
telnet hostname port – 使用指定的端口telnet主机名。这通常用来测试主机是否在线或者网络是否正常。
9. ethtool
ethtool允许你查看和更改网卡的许多设置(不包括Wi-Fi网卡)。你可以管理许多高级设置,包括tx/rx、校验及网络唤醒功能。下面是一些你可能感兴趣的基本命令:
显示一个特定网卡的驱动信息,检查软件兼容性时尤其有用。
复制代码 代码如下:
ethtool -i
启动一个适配器的指定行为,比如让适配器的LED灯闪烁,以帮助你在多个适配器或接口中标识接口名称:
复制代码 代码如下:
ethtool -p
显示网络统计信息:
复制代码 代码如下:
ethtool -s
设置适配器的连接速度,单位是Mbps:
复制代码 代码如下:
ethtool speed
10. netstat
发现主机连接最有用最通用的Linux命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)
复制代码 代码如下:
netstat -nap | grep port 将会显示使用该端口的应用程序的进程id
netstat -a or netstat –all 将会显示包括TCP和UDP的所有连接
netstat –tcp or netstat –t 将会显示TCP连接
netstat –udp or netstat –u 将会显示UDP连接
netstat -g 将会显示该主机订阅的所有多播网络。
1.做自动部署系统时精简的一个脚本,主要功能是清理所有目录的日志
2.根据给定日志目录,删除时间 结合crontab进行清理日志,清理完成后,后在/var/log/deltelog/ 生成按照月的清理日志
3.扩展,因为脚本采用mtime(最后修改时间)进行删除,所以可以适用于删除过期备份等,不受文件名称的限制
shell小窍门
find –type f –print 时会根据换行或者空格来输出查找的文件,在不同的sh下有不同的反应,如果不做处理结合xargs 进行删除 更改操作,会有影响
所以需要增加 –print0 用 null来 作为边界符号,才敢结婚 xargs –o 来格式化输入
使用find 的时候 遵循最小结果集原则,find解析式从左到右,所有确保你在最左边的过滤符号能够过滤最大数据
你可以根据你的需要增加到crontab中
shell脚本
复制代码 代码如下:
#!/bin/sh
###########################
#delete log blog.duplicatedcode.com
# in_day_num: like 1 2 is delete 2day ago logs
# in_log_path like tomcat log home
###########################
in_log_path=${1}
in_day_num=${2}
tmp_delete_log=/var/log/deletelog/"`date +%Y%m`.log"
deleteLog()
inner_num=${1}
#find log
echo "[`date`] >> start delete logs---" >> $tmp_delete_log
find ${in_log_path} -type f -mtime ${inner_num} -print0 | xargs -0 rm -rf
echo "[`date`] >> end delete logs---" >> $tmp_delete_log
init()
mkdir -p /var/log/deletelog/
main()
init
if [ -z ${in_log_path} ];then
echo "[`date`] >> error log_path not init---" >> $tmp_delete_log
return
fi
inner_day_num=+7
if [[ -n ${in_day_num} ]] && [[ ${in_day_num} -ge 1 ]] ; then
${inner_day_num}=${in_day_num}
fi
deleteLog ${inner_day_num}
main
linux环境:ubuntu
复制代码 代码如下:
#! /bin/sh
# Provides: server.sh
# Default-Start: 2 3 4 5
# Short-Description: server testing...
EXEC_PATH=/home/huangmin/cdev/project
EXEC=server
PID_FILE=/var/run/server.sh.pid
DAEMON=/home/huangmin/cdev/project/server
if ! [ -x $EXEC_PATH/$EXEC ]; then
echo "ERROR:$EXEC_PATH/$EXEC not found ..."
exit 1
fi
stop() {
echo "Stopping $EXEC ..."
killall $DAEMON >/dev/null
rm -f $PID_FILE
sleep 1
echo "Shutting down $EXEC: [OK]"
start() {
echo "Starting $EXEC ..."
$DAEMON >/dev/null
pidof $EXEC > $PID_FILE
sleep 1
echo "Starting $EXEC: [OK]"
restart() {
stop
start
case "$1" in
start)
start
stop)
stop
restart)
restart
status)
echo "Status Here"
*)
echo "Usage: service $EXEC {start|stop|restart|status}"
exit 1
esac
exit $?
/home/huangmin/cdev/project/server是我们需要的作为系统服务的程序。
写好脚本之后,将其放置到目录/etc/init.d中,或者做成软链接形式如:sudo ln -s /home/huangmin/cdev/project/bash/server.sh /etc/init.d/servertest.sh
最后利用chkconfig命令将其添加进系统服务: chkconfig –add servertest.sh
可以使用命令service servertest.sh start马上启动该服务程序