一个工作几年的linux运维工程师积累下来工作中常用的命令集合(shell)

2017-10-23 11:50:07  阅读 891 次 评论 0 条

##################操作系统####################################

#############杀死僵尸进程

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

查看TCP 并发

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'

LAST_ACK 5   (正在等待处理的请求数) 

  SYN_RECV 30 

  ESTABLISHED 1597 (正常数据传输状态) 

  FIN_WAIT1 51 

  FIN_WAIT2 504 

  TIME_WAIT 1057 (处理完毕,等待超时结束的请求数) 

  状态:描述 

  CLOSED:无连接是活动的或正在进行 

  LISTEN:服务器在等待进入呼叫 

  SYN_RECV:一个连接请求已经到达,等待确认 

  SYN_SENT:应用已经开始,打开一个连接 

  ESTABLISHED:正常数据传输状态 

  FIN_WAIT1:应用说它已经完成 

  FIN_WAIT2:另一边已同意释放 

  ITMED_WAIT:等待所有分组死掉 

  CLOSING:两边同时尝试关闭 

  TIME_WAIT:另一边已初始化一个释放 

  LAST_ACK:等待所有分组死掉

查看IP按连接数量进行排序

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

用tcpdump嗅探80端口的访问看看谁最高

    查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

找出使用CPU最多的前10名进程

    ps -auxf | sort -nr -k 3 | head -10

查看僵死进程

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

看CPU 核数,查看内核,查看位数

grep 'model name' /proc/cpuinfo | wc -l

uname -a

查看端口运行什么程序

netstat -apn        lsof -i:818  (端口)

硬盘IO

iostat -x 1 10

%util:    一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

同时可以结合vmstat 查看查看b参数 (等待资源的进程数 )和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高 )

查看性能

   dstat -d -r --top-io

   

批量修改密码(使用批量管理工具加下面命令)

echo password | passwd --stdin root

   

认情况下分五个区域:

1、    --total-cpu-usage----   CPU使用率

usr:用户空间的程序所占百分比;

sys:系统空间程序所占百分比;

idel:空闲百分比;

wai:等待磁盘I/O所消耗的百分比;

hiq:硬中断次数;

siq:软中断次数;

2、    -dsk/total-    磁盘统计

read:读总数

writ:写总数

3、    -net/total-    网络统计

recv:网络收包总数

send:网络发包总数

4、    ---paging--    内存分页统计 

in: pagein(换入)

out:page out(换出)

            

   

####  更改时区

cp  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

或者直接tzselect   

#####安装依赖报错so 解决方法

yum provides */libiconv.so.2

yum provides */libboost_system.so

####

LINUX 下查看温度及风扇转速

Linux 下如何查看自己本本的 CPU 和 GPU 的温度及 Fan(风扇) 的转速操作如下:

1、安装 lm_sensors 软件包 (如果已安装了此软件了,1和2步都跳过吧):

yum install lm_sensors (CentOS)

apt-get install lm_sensors (Ubuntu)

2、手动配置下(一路yes或enter就行了):

sensors-detect

3、最后打开终端输入(需要root权限执行,如果不是root,需要使用sudo):

sensors

这样就输出各传感器的温度及风扇转速了

   

   

##################文件处理######################################文件处理######################################文件处理####################

grep  查找替换

sed -i s/"rdbcompression yes"/"rdbcompression no"/g `grep "rdbcompression yes" -rl --include="*.conf" ./`

sed -i s/"appendonly yes"/"appendonly no"/g `grep "appendonly yes" -rl --include="*.conf" ./`     

查找当前目录下最大的文件夹

du --max-depth=1

####find 查找打包

tar -zcvf test.tar.gz `find /data/webdir/hiweb3.comdocs -mtime -3 -print`

##打包排除目录

tar -czvf mm.tgz xxx/  --exclude xxx/tt --exclude xxx/ppp

查看目录下小排序

du -sh /usr/www/* | sort -nr

复制目录下大于5MB的东西

/bin/cp `find /root -size +5M`   /root/abc929/

复制目录下大于5MB小于10MB的东西

/bin/cp `find /root -size +5M -size -10M`   /root/abc929/

删除文件大小为0的

    find . -name "*" -type f -size 0c | xargs -n 1 rm -f

这个还可以删除指定大小的文件,只要修改对应的 -size 参数就行,例如:

    find . -name "*" -type f -size 1024c | xargs -n 1 rm -f

此命令在/tem/下建立一个名为test的1g的文件

   dd if=/dev/zero of=/tem/test bs=1M count=1024

   

挂载内存到目录

mount -t tmpfs -o size=100G tmpfs /data

强制卸载mount   nfs

 fuser -cu /mnt   #其次向进程发出SIGKILL信号

 fuser -ck /mnt   #确认

 fuser -c /mnt 

 umount  /mnt    

##################nginx#########################################nginx#######################################nginx#####################

查看80端口连接数最多的20个IP

netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

日志分析

#分析各个状态的数量

cat access.log |awk '{print $9}'|sort|uniq -c|sort -nr

#分析500的有多少

cat access.log |awk '{if ($9=500){print $7}}'|sort|uniq -c|sort -nr|head

#分析ip

cat access.log |awk '{print $1}'|sort|uniq -c

#分析pv

cat access.log|wc -l

#分析各个页面的点击数

cat access.log |awk '{print $7}'|sort|uniq -c|sort -nr

cat access.log |awk '{print $7}'|sort|uniq -c|sort -nr|head #(前十名的)

####nginx 错误页面指定

error_page   404  =  http://www.test.cn;

error_page   403  =  http://www.test.cn;

##########nginx 页面跳转

rewrite ^(.*)$   /$1 break;

  

##################php#########################################PHP#######################################PHP#####################

netstat -anpo | grep "php-cgi" | wc  -l

  如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。

PHP 优化

1netstat -anpo | grep "php-cgi" | wc -l  查看phpcgi进程数,如果接近预设值,说明不够用,需要增加

2:禁用危险的php函数

disable_functions = exec,scandir,shell_exec,phpinfo,eval,passthru,system,chroot,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket

##################mysql数据库优化#######################################

1.复制表结构及数据到新表

CREATE TABLE 新表

SELECT * FROM 旧表 

2.只复制表结构到新表

CREATE TABLE 新表

SELECT * FROM 旧表 WHERE 1=2

#################

在线查询哪些SQL 查询慢的

use information_schema;

select db,command,time,state,info from `PROCESSLIST` where command <>'Sleep';

SHOW STATUS;   (服务器状态变量,运行服务器的统计和状态指标)

SHOW VARIABLES;(服务器系统变量,实际上使用的变量的值)

或者

mysql>SHOW STATUS LIKE  '%变量名% ' ;

########最完整的信息

mysqladmin  -uroot -ppassword  variables extended-status

root  授权

GRANT ALL PRIVILEGES ON *.* TO 'root’@‘1.1.1.1’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root’@‘%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

新建用户

insert into mysql.user(Host,User,Password) values("%","web",password("ailinux.net”));

授权phplamp用户拥有phplamp数据库的所有权限。

grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

授权

grant all privileges on testDB.* to test@localhost identified by '1234';

GRANT SELECT , INSERT , UPDATE , DELETE ON `abc\_ww` . * TO ‘ww’@‘localhost';

GRANT GRANT OPTION ON *.* TO 'root'@'%';

刷新表权限

flush privileges;

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump --all-databases -h127.0.0.1 -uroot -ppass > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

GRANT GRANT OPTION ON *.* TO 'root'@'%';

Mysql删除空用户。

DELETE FROM user WHERE User="phplamp" and Host="localhost";

delete from mysql.user where user='';  ← 删除匿名用户

flush privileges;

更新用户密码

update mysql.user set password=password(‘aiLinux.net’) where User="phplamp" and Host="localhost";

将MySQL设置为只读状态的命令:

# mysql -uroot -p

mysql> show global variables like "%read_only%";

flush tables with read lock;

set global read_only=1;

flush privileges;

mysql> show global variables like "%read_only%";

将MySQL从只读设置为读写状态的命令:

unlock tables;

set global read_only=0;

flush privileges;

#####

##对比主从数据的一致性工具

工具安装方法

RHEL7/CentOS7/Oracle linux7:

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

RHEL6/CentOS6/Oracle linux6:

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

RHEL5/CentOS5/Oracle linux5:

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm

yum -y install mysql-util*

mysqldbcompare --server1=root:ailinux.net@1.1.1.1:33211 --server2=root:ailinux.net@localhost:3309 yiitest -a --difftype=SQL --show-reverse --quiet

检查所有数据库  

#/usr/local/mysql02/bin/mysqlcheck --all-databases -uroot -p123456

##动态开起慢查询

set global slow_query_log=1;

set global long_query_time=2;

set global slow_query_log_file='mysql-slow.log';

##动态关闭慢查询

set global slow_query_log=0;

开关全局日志

set global general_log=on;   开起

set global general_log=off;  关闭

查看MySQL进程连接数:

ps -axef | grep mysqld -c

检查索引效率查询

show status like "Handler_read%";   

Handler_read_key 值高表示索引效果好,Handler_read_rnd_next值高表示索引低效。

主从配置

GRANT REPLICATION SLAVE ON*.*TO'rsync'@'%'IDENTIFIED BY 'ailinux.net';

传统模式

CHANGE MASTER TO MASTER_HOST='192.168.8.211',MASTER_USER='rsync',MASTER_PASSWORD='ailinux.net',MASTER_PORT=3306,MASTER_LOG_FILE='abcd-bin.000005',MASTER_LOG_POS=120;

*************************** 1. row ***************************

             File: abcd-bin.014604

         Position: 185866396

     Binlog_Do_DB: 

 Binlog_Ignore_DB: 

Executed_Gtid_Set: 

1 row in set (0.00 sec)

GTID模式

CHANGE MASTER TO MASTER_HOST='1.1.1.1', MASTER_PORT=3306,MASTER_USER='rsync',MASTER_PASSWORD='ailinux.net',master_auto_position = 1;

mysqlreplicate --master=root:ailinux.net@1.1.1.1:3306 --slave=root:ailinux.net@172.16.8.211:3306 --rpl-user=abcd:ailinux.net -b

mysqlrplsync  --master=root:ailinux.net@1.1.1.1:3306 --slave=root:ailinux.net@172.16.8.211:3306,rsync:ailinux.net@1.1.1.1:3306:3306

slave  start

show slave status\G;

#解决存储苹果表情的问题

show variables like '%sql_mode%';

set global sql_mode = 'NO_ENGINE_SUBSTITUTION';

######innobackupex备份还原

innobackupex --defaults-file=/etc/my.cnf --user=root --password=ailinux.net  --apply-log  --use-memory=4G /home/20151217/2015-12-17_00-28-28

innobackupex --defaults-file=/etc/my.cnf --user=root --password=ailinux.net  --copy-back /home/20151217/2015-12-17_00-28-28

设置从服务器为只读,避免用户在从服务器上修改数据:

SHOW VARIABLES LIKE ‘%read%’

SET GLOBAL read_only=on;

##########mysql集群自增长设置

 show variables like '%increment%'; 

SET @@global.auto_increment_offset   = 1;

set @@global.auto_increment_increment = 1; 

###############mysql 查看事物锁死

SELECT * FROM information_schema.INNODB_TRX\G

###############查看innodb引擎状态

mysql -u root -p --execute="show engine innodb status \G" >/root/mysqlinnodb.log 

show variables like 'innodb_lock_wait_timeout';

+--------------------------+-------+

| Variable_name            | Value |

+--------------------------+-------+

| innodb_lock_wait_timeout | 50    |

[mysqld]

innodb_lock_wait_timeout=120

#####修改数据默认字符集

ALTER DATABASE abcd DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

############mysql 查询运行状态

mysqladmin -uroot -pailinux.net status -i 1

mysqladmin -uroot -pailinux.net --sleep 1 processlist

##################系统优化#######################################系统优化#######################################系统优化#######################################系统优化#####################

# vi /etc/sysctl.conf 

底部添加

fs.file-max=65535 

#vi /etc/security/limits.conf

加上

* soft nofile 65535

* hard nofile 65535

启动Nginx

ulimit -SHn 65535

#####linux 瓶颈找问题十大命令

通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

uptime

dmesg | tail

vmstat 1

mpstat -P ALL 1

pidstat 1

iostat -xz 1

free -m

sar -n DEV 1

sar -n TCP,ETCP 1

##################################系统优化_END

####################iptables 安全

下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。

/sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set

/sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60  –hitcount 15 -j DROP

1:查找日子里面可疑关键字

find /www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|

base64_decode'

2:查找php木马

grep -r --include=*.php  '[^a-z]eval($_POST' . > post.txt

grep -r --include=*.php  '[^a-z]eval($_REQUEST' . > REQUEST.txt

3:快速查找2天内呗修改的文件

find -mtime -2 -type f -name \*.php

##################################安全检查_END

##################shell#########################################shell#########################################shell#########################################shell#########################################shell#######################

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。

cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'

name,shell

root,/bin/bash

如果只是显示/etc/passwd的账户

#cat /etc/passwd |awk  -F ':'  '{print $1}'  

root

daemon

bin

sys

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割

#cat /etc/passwd |awk  -F ':'  '{print $1"\t"$7}'

root    /bin/bash

daemon  /bin/sh

bin     /bin/sh

sys     /bin/sh

#########AWK 参数介绍

ARGC               命令行参数个数

ARGV               命令行参数排列

ENVIRON            支持队列中系统环境变量的使用

FILENAME           awk浏览的文件名

FNR                浏览文件的记录数

FS                 设置输入域分隔符,等价于命令行 -F选项

NF                 浏览记录的域的个数

NR                 已读的记录数

OFS                输出域分隔符

ORS                输出记录分隔符

RS                 控制记录分隔符

##################################AWK_EDN

###########去取两个字符之间的内容

sed -n '/123493876/,/124149948/'p  file

########################

sed '2d' example-----删除example文件的第二行。  

sed '2,$d' example-----删除example文件的第二行到末尾所有行。  

sed '$d' example-----删除example文件的最后一行。  

sed '/test/'d example-----删除example文件所有包含test的行。  

sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。  

sed -n 's/^test/mytest/p' example-----(-n)选项和p标志一起使用表示只打印那些发生替换的行。也就是说,如果某一行开头的test被替换成mytest,就打印它。  

 sed 's/^192.168.0.1/&localhost/' example-----&符号表示替换换字符串中被找到的部份。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。  

 sed -n 's/\(love\)able/\1rs/p' example-----love被标记为1,所有loveable会被替换成lovers,而且替换的行会被打印出来。  

 sed 's#10#100#g' example-----不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100。  

 选定行的范围:逗号  

 sed -n '/test/,/check/p' example-----所有在模板test和check所确定的范围内的行都被打印。  

$ sed -n '5,/^test/p' example-----打印从第五行开始到第一个包含以test开始的行之间的所有行。  

$ sed '/test/,/check/s/$/sed test/' example-----对于模板test和west之间的行,每行的末尾用字符串sed test替换。 

多点编辑:e命令  

$ sed -e '1,5d' -e 's/test/check/' example-----(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执 行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令

的结

$ sed --expression='s/test/check/' --expression='/love/d' example-----一个比-e更好的命令是--expression。它能给sed表达式赋值。  

从文件读入:r命令   

$ sed '/test/r file' example-----file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面。  

写入文件:w命令  

$ sed -n '/test/w file' example-----在example中所有包含test的行都被写入file里。  

追加命令:a命令  

$ sed '/^test/a\\--->this is a example' example<-----'this is a example'被追加到以test开头的行后面,sed要求命令a后面有一个反斜杠。  

插入:i命令  

如果test被匹配,则把反斜杠后面的文本插入到匹配行的前面。  

下一个:n命令  

$ sed '/test/{ n; s/aa/bb/; }' example-----如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。  

变形:y命令  

$ sed '1,10y/abcde/ABCDE/' example-----把1--10行内所有abcde转变为大写,注意,正则表达式元字符不能使用这个命令。  

退出:q命令  

$ sed '10q' example-----打印完第10行后,退出sed。  

保持和获取:h命令和G命令  

$ sed -e '/test/h' -e '$G example-----在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将 打印在屏幕上。接着模式空间被清空,并存入新的一行等待处理。在这个例子里,匹配test

的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保 持缓存区的特殊缓冲区内。第二条语句的意思是,当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中 的行的末尾。在这个例子中就是追加

到最后一行。简单来说,任何包含test的行都被复制并追加到该文件的末尾。  

保持和互换:h命令和x命令  

$ sed -e '/test/h' -e '/check/x' example -----互换模式空间和保持缓冲区的内容。也就是把包含test与check的行互换。  

7. 脚本  

Sed脚本是一个sed的命令清单,启动Sed时以-f选项引导脚本文件名。Sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头的行为注释行,且不能跨行。  

sed -n '/140929 14:08/,/140929 14:10/'p 

############sed 找替换

sed -i s/\/www\/web/\/data\/www\/web/g `grep \/www\/web -rl --include="*.conf" ./`

例如:我要把 charset=gb2312 替换为 charset=UTF-8,执行命令:

sed -i “s/charset=gb2312/charset=UTF-8/g” ‘grep charset=gb2312 -rl /www’ 即可。

##################################SED_END

#######git 实用命令

克隆库下来:  git clone https://abc929:a312461613@git.oschina.net/abc929/abc929.git

添加 文件   git add  file   或者 git  add  *

提交更改    git commit -am "update"

更新到新文件   git push origin

更新库到本地   git push 

Command line instructions

Git global setup

git config --global user.name “三爷”

git config --global user.email “sanye@163.com"

Create a new repository

mkdir osyunwei

cd osyunwei

git init

touch README.md

git add README.md

git commit -m "first commit"

git remote add origin http://git.123213.cn/sanye/osyunwei.git

git push -u origin master

Push an existing Git repository

cd existing_git_repo

git remote add origin http://git.123213.cn/sanye/osyunwei.git

git push -u origin master

#####批量管理ansible常用命令详解

在ansible.cfg配置文件中,也会找到如下部分:

# uncomment this to disable SSH key host checking

host_key_checking = False  

############三部完成ssh 免密钥登录

ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub 6.6.6.3

ssh 6.6.6.3  

OK  

###############批量任务命令

#####添加自动任务  每三分钟执行一次

ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/bin/rdate  -s time.nist.gov"'

#####批量执行命令

ansible web  -m command -a 'date'

####批量重启服务

ansible  web -m service -a 'name=nginxd state=restart'

####批量传文件

ansible  web -m copy -a 'src=/tmp/localhost.conf dest=/usr/local/nginx/conf/vhost/'

####yum模块:

    目的:在指定节点上安装 lrzsz 服务

    命令:ansible all -m yum -a "state=present name=lrzsz"

####user模块:

    目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

    命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'

    执行命令:

####script模块:

    目的:在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)

    命令:ansible 10.1.1.113 -m script -a '/root/a.sh'

####synchronize模块:

    目的:将主控方/root/a目录推送到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'

ansible web -m synchronize -a 'src=/shell/www/web dest=/www/ compress=yes'

    执行效果:

delete=yes   使两边的内容一样(即以推送方为主)

compress=yes  开启压缩,默认为开启

--exclude=.Git  忽略同步.git结尾的文件

####ile模块:

    目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root

    命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

####user模块:

    目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

    命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'

####

############zabbix 清理数据

这是比较实用的按照时间段删除历史数据,也有方法可以全部清除历史监控数据

zabbix清空历史记录mysql数据库操作:

mysql -uroot -p 输入mysql密码

use zabbix;

truncate table history;

optimize table history;

truncate table history_str;

optimize table history_str;

truncate table history_uint;

optimize table history_uint;

truncate table trends;

optimize table trends;

truncate table trends_uint;

optimize table trends_uint;

truncate table events;

optimize table events;

注意:此操作会清空zabbix所有历史监控数据,请操作之前备份好数据库!


本文地址:http://blog.ailinux.net/post/23.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?