ELK搭建: http://www.mamicode.com/info-detail-1857697.html

nc端口嗅探:

nc -w 1 -z 124.160.61.162 4630-65535
-z 表示连接立即关闭,不进行数据交换。
-v 表示输出检测结果,-vv表示更详细的信息
-w 表示执行超时时间,如果不指定就是tcp超时的时间
-n 表示不反向解析IP地址的域名
-t 表示TCP检测,默认就是TCP检测;如果需要检测UDP,需要制定-u的参数
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

ping命令:

-l  指定包大小    
-n 指定ping次数

nohup ping -i 60 114.114.114.114 -D > ping.txt 2>&1 &

ping带日期的:
ping qq.com | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime())}'

nohup ping -i 1800 qq.com | awk '{ print $0"\t" strftime("%Y-%m-%d %H:%M:%S",systime()); fflush()}' > china.txt 2>&1 &
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

ansible基础命令:

ansible test  -m ping

ansible test -m command -a "touch /home/cjc.log" 

ansible 10.0.4.64 -m command -a "touch /home/cjc.log"

ansible test -m copy -a "src=/home/aaa.tar(源文件) dest=/home/(目标目录) owner=root group=root mode=0777"

ansible test -m shell -a "ps -ef | grep zabbix |grep -v grep |awk '{print \$2}' | xargs kill -9"

sed -i "s/SELINUX=enforcing/SELINUX=disabled /g" /etc/selinux/config

ansible 10.0.4.64 -m shell -a 'cd /home && sed -i "s/qwe/qaqaqa/g" /home/cjc.log'
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

shell命令

在第一行前插入文本
sed -i '1 i\插入字符串' datafile

在最后一行后插入文本
sed -i '$ a\插入字符串' datafile

在匹配行前插入一行
sed -i '/pattern/ i "插入字符串"'' datafile

在匹配行后插入一行
sed -i '/pattern/ a "插入字符串"' datafile
 
给DROP前面全部加上注释
sed -i "s/^[^#].*DROP$/#&/g" iptables22.txt

取消DROP前面的注释
sed -i "/^#.*DROP$/s/^#//" iptables22.txt
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

shell模版脚本

#!/bin/bash

# 这个脚本演示了如何使用 getopts 函数解析命令行参数
if [ $# -eq 0 ];then
	echo -e "Usage:\033[31m bash $0\033[0m \033[33m(-A|-D|-L) -e (1h or more) -t (admin|view) -u AAA \033[0m"
    exit 1
fi


# 默认值
ACTION=""
EXPIRY=""
USER_TYPE=""
USER_NAME=""

# 解析命令行参数
while getopts "ADLe:t:u:" OPTION; do   # "ADLe:t:u:" 是选项字符串,其中每个字母都表示一个选项。冒号(:)表示该选项需要一个值。
    case $OPTION in
        A)
            ACTION="add-test $1"
            ;;
        D)
            ACTION="del-test $1"
            ;;
        L)
            ACTION="list-test $1"
            ;;
        e)
			# 当 $OPTION 是 e 时,设置 EXPIRY 变量为 $OPTARG,并检查 $OPTARG 是否符合正则表达式 ^[1-9][0-9]*h$。如果不符合,就输出错误信息并退出脚本。
            EXPIRY="$OPTARG"
            [[ $OPTARG =~ ^[1-9][0-9]*h$ ]] || { echo "'-e' must be set like '2h, 5h, 50000h, ...'"; exit 1; }
            ;;
        t)
            USER_TYPE="$OPTARG"
            [[ $OPTARG =~ ^(admin|root)$ ]] || { echo "'-t' can only be set as 'admin' or 'root'"; exit 1; }
            ;;
        u)
            USER_NAME="$OPTARG"
            ;;
        ?)
			# 如果 getopts 检测到了一个无法识别的选项,它会将 ? 存储到 $OPTION 中,并将无法识别的选项存储到 $OPTARG 中。此时,脚本会输出错误信息并退出。
            echo "Invalid option: -$OPTARG"  
            exit 1
            ;;
    esac
done

function add-test(){
# 打印解析的参数
echo "ACTION: $ACTION"
echo "EXPIRY: $EXPIRY"
echo "USER_TYPE: $USER_TYPE"
echo "USER_NAME: $USER_NAME"
}

function del-test(){
# 打印解析的参数
echo "ACTION: $ACTION"
echo "EXPIRY: $EXPIRY"
echo "USER_TYPE: $USER_TYPE"
echo "USER_NAME: $USER_NAME"
}

function list-test(){
# 打印解析的参数
echo "ACTION: $ACTION"
echo "EXPIRY: $EXPIRY"
echo "USER_TYPE: $USER_TYPE"
echo "USER_NAME: $USER_NAME"
}

${ACTION}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.

rsync+ssh钉钉同步备份

1、先要配置A到B服务器的ssh免密
2、安装rsync服务:yum -y install rsync
rsync -avh --bwlimit=2048 -e 'ssh -p 32022' /database/01bit_file/ root@192.168.20.100:/data/01bit_file/

ssh -p 32022  不是默认端口
/database/01bit_file/  源需要备份的目录
root@192.168.20.100:/data/01bit_file/  目标目录
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.