Linux运维常用知识(4)

linux命令无效-bash: ls: command not found

一次重启后开机,基本所有的命令都不可用,只有少数的命令可用

[[email protected] ~]# ll

-bash: ls: command not found

[[email protected] ~]# pwd

/root

[[email protected] ~]# shutdown -r now

-bash: shutdown: command not found

[[email protected] ~]# export $PATH

-bash: export: `/usr/java/jdk1.7.0_55/bin::/root/bin‘: not a valid identifier

[[email protected] ~]#

export $PATH,可能是PATH路径设置问题

1.先临时设置PATH

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

修改配置文件,发现有代码错误,原来是配置JAVA路径的时候,PATH拼写出错

#vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_55

export JAVA_BIN=/usr/java/jdk1.7.0_55/bin

export PATH=$JAVA_HOME/bin:$PAH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar

重启解决.

centos下mysql修改datadir和socket相关路径

有时候我们希望使用别的目录来代替mysql默认使用的/var/lib/mysql目录存储数据。

为了完成这个需求,我们需要几步来实现:

1,修改selinux为permissive或disable

2,将目录的权限修改为mysql用户所有和属组

3,修改/etc/my.cnf

将datadir和socket修改为你需要的路径

这步做完后,mysql-server就可以正常启动了,并且可以看到data文件和socket文件已经存入你指定的目录中。但是当你使

用本地mysql客户端连接服务端的时候,会发现系统依然提示你找不到“/var/lib/mysql/mysql.sock”这个sock文件,这时候

继续下一步

4,在/etc/my.cnf中添加一段

[client]

socket=[你指定的文件]

ok,这样重启mysql-server后就可以正常连接了。

使用mysql_secure_installation仍然会提示无法找到“/var/lib/mysql/mysql.sock”文件,打开

mysql_secure_installation命令脚本,它在/usr/bin目录下。

在make_config这个函数中添加一段

echo "socket=[你指定的文件,同上设置]" >>$config

保存文件后就可以正常使用了。

解决Windows8下Cisco Systems VPN Client的Reason 442: Failed to Enable Virtual Adapter错误

Windows8下使用Cisco Systems VPN Client创建的Cisco IPSec VPN无法连接,提示Reason 442: Failed to Enable Virtual Adapter,这个问题是Windows8特有的,不能用其他系统的解决方案解决此问题.下面给出解决方案.

1.打开注册表编辑器(需使用管理员权限)

2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA

选择名称为DisplayName的项,修改数值.

4.如果是x86(即32位)版本则将类似@oem8.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter的值修改为Cisco Systems VPN Adapter

5.如果是x64(即64位)版本则将类似@oem8.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter for 64-bit Windows的值修改为Cisco Systems VPN Adapter for 64-bit Windows

6.在Cisco Systems VPN Client中点击Connect按钮,成功连接.

监控利器:CactiEZ及无数据,无图像解决

CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体。

集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorimage,Mobile,Aggregate以及Apache,Squid,F5,Nginx,MySQL等模板。支持多种硬盘控制器和阵列卡,基于CentOS6,启动速度更快,支持EXT4文件系统,原生rsyslog更稳定。全中文页面,中文图形,支持邮件报警,支持声音报警,安装方便使用简单。

CactiEZ中文版10.1:

下载地址:32位: http://www.zhengfeng.net/CactiEZ-10.1-i386.torrent

64位: http://www.zhengfeng.net/CactiEZ-10.1-x86_64.torrent

CactiEZ还是有英文版的  http://cactiusers.org/ 这个网站去下载英文版。

http://www.crazycen.com/linux/1164.html

cacti无图像或者无数据解决方法:

1.system utilities –>Rebuild poller cache 
2.系统时间不准确,重新设置时间 
3.图像没有生成,运行#/usr/bin/php /srv/www/htdocs/cacti/poller.php –force 
4.权限问题,修改权限#chmod 777 -R /srv/www/htdocs/cacti/rra 
5.数据库表有损坏,修复#mysqlcheck -ao cacti –auto-repair -uroot -p 
6.重启snmpd服务#service snmpd restart

Icinga 中文版

Icinga其实就是nagios的二次开发,他包括了nagios的所有功能,甚至可以直接把nagios的配置文件拿来用。icinga-cn是专门的中文项目,更适合国人使用。

中文版地址:http://icinga-cn.sourceforge.net/

几个常用的Linux主机性能监控脚本

1、查看主机网卡流量

#!/bin/bash
#network
#Mike.Xu
while : ; do
time=‘date +%m“-”%d“ ”%k“:”%M’
day=‘date +%m“-”%d’
rx_before=‘ifconfig eth0|sed -n “8”p|awk ’{print $2}‘|cut -c7-’
tx_before=‘ifconfig eth0|sed -n “8”p|awk ’{print $6}‘|cut -c7-’
sleep 2
rx_after=‘ifconfig eth0|sed -n “8”p|awk ’{print $2}‘|cut -c7-’
tx_after=‘ifconfig eth0|sed -n “8”p|awk ’{print $6}‘|cut -c7-’
rx_result=$[(rx_after-rx_before)/256]
tx_result=$[(tx_after-tx_before)/256]
echo “$time Now_In_Speed: ”$rx_result“kbps Now_OUt_Speed: ”$tx_result“kbps”
sleep 2
done

2、系统状况监控

#!/bin/sh
#systemstat.sh
#Mike.Xu
IP=192.168.1.227
top -n 2| grep “Cpu” 》》。/temp/cpu.txt
free -m | grep “Mem” 》》 。/temp/mem.txt
df -k | grep “sda1” 》》 。/temp/drive_sda1.txt
#df -k | grep sda2 》》 。/temp/drive_sda2.txt
df -k | grep “/mnt/storage_0” 》》 。/temp/mnt_storage_0.txt
df -k | grep “/mnt/storage_pic” 》》 。/temp/mnt_storage_pic.txt

time=
date +%m“。”%d“ ”%k“:”%M
connect=
netstat -na | grep “219.238.148.30:80” | wc -l
echo “$time $connect” 》》 。/temp/connect_count.txt

3、监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告

#!/bin/bash
#monitor available disk space
SPACE=‘df | sed -n ’/ \ / $ / p‘ | gawk ’{print $5}‘ | sed ’s/%//‘
if [ $SPACE -ge 90 ]
then
[email protected]
fi

4、 监控CPU和内存的使用情况

#!/bin/bash
#script to capture system statistics
OUTFILE=/home/xu/capstats.csv
DATE=’date +%m/%d/%Y‘
TIME=’date +%k:%m:%s‘
TIMEOUT=’uptime‘
VMOUT=’vmstat 1 2‘
USERS=’echo $TIMEOUT | gawk ‘{print $4}’ ‘
LOAD=’echo $TIMEOUT | gawk ‘{print $9}’ | sed “s/,//‘ ’
FREE=‘echo $VMOUT | sed -n ’/[0-9]/p‘ | sed -n ’2p‘ | gawk ’{print $4} ‘ ’
IDLE=‘echo $VMOUT | sed -n ’/[0-9]/p‘ | sed -n ’2p‘ |gawk ’{print $15}‘ ’
echo ”$DATE,$TIME,$USERS,$LOAD,$FREE,$IDLE“ 》》 $OUTFILE

5、全方位监控主机

#!/bin/bash

# check_xu.sh

# 0 * * * * /home/check_xu.sh

DAT=”
date +%Y%m%d
“

HOUR=”
date +%H
“

DIR=”/home/oslog/host_${DAT}/${HOUR}“

DELAY=60

COUNT=60

# whether the responsible directory exist

if ! test -d ${DIR}

then

/bin/mkdir -p ${DIR}

fi

# general check

export TERM=linux

/usr/bin/top -b -d ${DELAY} -n ${COUNT} 》 ${DIR}/top_${DAT}.log 2》&1 &

# cpu check
/usr/bin/sar -u ${DELAY} ${COUNT} 》 ${DIR}/cpu_${DAT}.log 2》&1 &

#/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} 》 ${DIR}/cpu_0_${DAT}.log 2》&1 &

#/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} 》 ${DIR}/cpu_1_${DAT}.log 2》&1 &

# memory check
/usr/bin/vmstat ${DELAY} ${COUNT} 》 ${DIR}/vmstat_${DAT}.log 2》&1 &

# I/O check
/usr/bin/iostat ${DELAY} ${COUNT} 》 ${DIR}/iostat_${DAT}.log 2》&1 &

# network check
/usr/bin/sar -n DEV ${DELAY} ${COUNT} 》 ${DIR}/net_${DAT}.log 2》&1 &

#/usr/bin/sar -n EDEV ${DELAY} ${COUNT} 》 ${DIR}/net_edev_${DAT}.log 2》&1 &

放在crontab里每小时自动执行:

0 * * * * /home/check_xu.sh

这样会在/home/oslog/host_yyyymmdd/hh目录下生成各小时cpu、内存、网络,IO的统计数据。

如果某个时间段产生问题了,就可以去看对应的日志信息,看看当时的主机性能如何。

print spooler服务启动后,自动停止,服务死锁

怀疑非正常关机,造成“Print Spooler服务”启动文件“spoolsv.exe”损坏。从其他机子上拷了一个spoolsv.exe来。覆盖,重启。故障依旧

开始->运行,输入regedit打开注册表编辑器
找到以下键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler
选定Spooler这个文件夹,在右边窗口里找DependOnService这个键值
双击打开把数据改为RPCSS,确定后退出注册表编辑器,重启计算机。

linux系统下的远程开机

1.服务器没有部署在本地,通常托管到IDC机房,而且服务器在机房中不止一台,其中一台被关闭时,则我们可以远程连接一台没有关机的服务器上,然后进行远程开机.

2.远程开机需要的软件:wakeonlan

yum install wol -y

3.如何进行远程开机?

先不要急着去关闭你的linux服务器,你首先要确定它是否支持远程开机?

1)登录到目标服务器,用ethtool这个命令打印出网卡的信息

[[email protected] lhd]# ethtool eth0

可以看到,ethtool 把网卡的信息全部列出,我们只关心其中的这两项:

  Supports Wake-on: pumbg

  Wake-on: d

如果 wake-on 一项值为 d,表示禁用wake on lan

值为 g,表示启用 wake on lan

因为此机器禁用了 wake on lan,所以用下面的命令来启用它:

[[email protected] lhd]# ethtool -s eth0 wol g

现在目标机器的网卡已经支持了远程开机,

下面我们得到它的本地MAC地址:

[[email protected] lhd]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:03:0D:1D:1F:97

把HWaddr 00:03:0D:1D:1F:97这一项记录下来即可

现在你可以试着把目标机器关闭

2)开机

现在我们需要登录到已安装了wake on lan软件的机器上,在上面执行开机命令:

wol 00:03:0D:1D:1F:97

稍后就会发现,目标机器已开机可以登录了

wol的取值默认是d,含义是disable

修改后的值为g,含义是Wake on MagicPacket(tm)

当机器重启后,eth0的设置又会回复到Wake-on: d 状态,

3)这个问题怎么解决?

两个办法:第一个,也是我们的惯性思维;

把/sbin/ethtool -s eth0 wol g 这条命令附加到/etc/rc.local这个文件中,

则下次开机后会自动执行

第二个: 编辑/etc/sysconfig/network-scripts/ifcfg-eth0

(eth0网卡的配置文件),添加上一行:

ETHTOOL_OPTS=”wol g”

4,网络唤醒的局限性:

它只能在局域网中应用,而不能通过互联网运行,为什么?

因为机器关闭后,完全是靠网卡唤醒机器,此时的机器是关闭的,没有操作系统运行,

也就谈不上支持tcp/ip协议,当然也就不能通过互联网运行了.

也就是说:如果我们在某个局域网中只有一台机器,就不能使用此功能了.

我们必须能登录到局域网中的一台机器上,在此机器上运行 wake on lan 去唤醒目标机器

前提条件就是:目标机器和我们登录的机器在同一局域网中

5,还有一点:被远程开机的目标机器必须是插电的

下面简单介绍一下linux下的wakeonlan 的用法:

假设远程要唤醒的计算机IP:12.34.56.78,Mac地址:01:02:03:04:05:06

$ wakeonlan -i 12.34.56.78 01:02:03:04:05:06

Linux运维常用知识(4),布布扣,bubuko.com

时间: 2024-08-02 06:59:57

Linux运维常用知识(4)的相关文章

linux运维常用知识(6)

Linux系统相关几个命令使用 last查看用户成功登录信息 /var/log/wtmp 文件记录了用户成功登录的信息.使用last可以查看 lastb 查看用户不成功登录的信息 who 查看已登录的用户 w查看登录用户的活动 e2label 查看或更改分区卷标 e2label 命令可以用来查看或修改 ext2/ext3 分区的卷标.语法为: e2label 设备 [新卷标] 下面的命令可以查看/dev/sda1 分区的卷标 [[email protected] /]# e2label /dev

Linux 运维常用知识命令(干货)

------------ #### @ vim 编辑快捷键 `ctrl + n` 是自动补齐 `ctrl + p` 是往上选择 `ctrl + f` 是下一屏幕 `ctrl + b ` 是上一屏幕 `w`:是移动一个单词 `b`:是向前一个单词 `d^`:当前行中,删至行首 `d$`:当前行中,删至行尾 `y^ `:当前到行头的内容 `y$` :复制当前到行尾的内容 `d1G`:删除光标所在行,到第一行的所有数据 `dG`::删除光标所在行下一行,到最后一行的所有数据 ------------#

Linux运维常用命令

Linux运维常用的150个命令 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼mak

[Linux运维]常用场景模拟 -- cpu使用率模拟

[Linux运维]常用场景模拟 -- cpu使用率模拟 from http://www.cnblogs.com/zk47/p/4771105.html 1 单个核 100%: 代码 kill_cpu.c #include <stdlib.h> int main() { while(1); return 0; } 运行 $ gcc -o out kill_cpu.c $ ./out 看top的结果: $ top top - 15:44:08 up 207 days, 21:29, 2 users

Linux运维常用技术论坛博客网站

Linux运维常用技术论坛博客网站Linux中国开源社区: https://linux.cn/Infoq: https://www.infoq.cn/51CTO: http://www.51cto.com/掘金: https://juejin.im/CSDN: https://www.csdn.net/运维派: http://www.yunweipai.com/开源中国: https://www.oschina.net/ 原文地址:https://blog.51cto.com/13293070/

linux运维基础知识-CentOS7系统安装配置及健康检查

linux运维基础知识 1.完成一台CentOS7.X操作系统安装,分区并配置逻辑卷:2.完成LVM分区扩容20GB存储:3.检查系统CPU/内存/网络/存储性能检查:4.检查操作系统版本:5.检查系统是否有非法账号:6.检查系统日志是否有相关报错:7.检查系统后台是否有非法应用运行: 一:系统安装及配置LVM逻辑卷 1:系统安装(略) 2:分区及配置逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的

[转帖] Linux运维基础知识学习内容

原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux  对简单的命令有所掌握 但是 复杂的脚本 shell python 还是没有掌握 这一点需要继续学习... 很多东西仅仅是学会了搭建  非常不够 运维监控的内容会的非常少. Linux系统如果是学习可以选用Redhat或CentOS,特别是CentOS在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,

linux运维常用命令汇总

一.线上查询及帮助命令 1.man:查看命令帮助 2.help:查看linux内置命令的帮助 二.文件和目录操作命令: 1.pwd:查看当前目录 2.cd:切换目录 3.tree:以树形结构显示目录下内容 4.mkdir:创建目录 5.touch:创建空文件或改变文件的时间戳属性 6.ls:显示目录下的内容及相关属性信息 7.cp:复制文件或目录 8.mv:移动或重命名文件 9.rm:删除文件或目录 10.rmdir:删除空目录 11.ln:硬链接或软链接 12.readlink:查看符号链接文

Linux运维常用的 MySQL基础命令

MySQL基础命令 ------------- 创建MySQL库,授权. >create database mysqldb character set utf8; >grant all privileges on mysqldb.* to 'mysqluser'@'localhost' identified by 'mysqlpasswd'; >flush privileges; 创建了mysqldb数据库,创建mysqluser用户,并授权mysqldb的所有权限.__________