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的参数
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 &
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'
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
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}
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/ 目标目录