Shell语言 —— 输出颜色字体
123456789101112131415161718#字体色范围:30-37echo -e "\033[30m 黑色字 \033[0m"echo -e "\033[31m 红色字 \033[0m"echo -e "\033[32m 绿色字 \033[0m"echo -e "\033[33m 黄色字 \033[0m"echo -e "\033[34m 蓝色字 \033[0m"echo -e "\033[35m 紫色字 \033[0m"echo -e "\033[36m 天蓝字 \033[0m"echo -e "\033[37m 白色字 \033[0m"#字背景颜色范围:40-47echo -e "\033[40;37m 黑底白字 \033[0m"echo -e "\033[41;30m 红底黑字 \033[0m"echo -e "\033[42;34m 绿底蓝字 \033[0m& ...
Shell语言 —— Case变量注入
case:根据变量不同取值,执行不同的命令,多用于列表
Case的特点:1)case行尾必须为单词”in”,每一模式必须以右括号”)”结束。
2)双分号”;;”表示命令序列的结束。
3)模式字串中,可以用方括号表示一个连续的范围,如”[0-9]”;还可以用竖杠符号”|”表示或,如”A|B”
4)最后的”*)”表示默认模式,其中的*相当于通配符。
格式:
12345678910111213#!/bin/bash#变量值$1固定位置变量,主要用于服务脚本case 变量值 in模式1) 命令序列1;;模式2) 命令序列2;;*) 默认命令序列esac
例:编写系统服务脚本123456789101112131415161718192021#!/bin/bash#$1固定位置变量,主要用于服务脚本。case $1 instart) /usr/local/httpd/apachectl start &> /dev/null echo "httpd is running";;stop) /usr/local/httpd/apach ...
Shell语言 —— For While循环
Loop:
Loop:循环开始条件和结束条件
Break:命令允许跳出所有循环(终止执行后面的左右循环)
Continue:命令与break类似,它不会跳出所有循环,只跳出当前循环
Exit 0:跳出/终止
Sleep 2:延迟2s执行
Echo -n:不换行显示
For循环:遍历所有变量格式:
12345for [varname] in {values}do 命令序列1 命令序列2done
例:根据姓名列表批量创建用户首先创建一个文本文件user.txt
user1
user2 //这些都是用户名
user3
……..等
创建脚本useradd.sh
12345678#!/bin/basha=`cat /root/user.txt`for q in $ado useradd $q echo “123.com” | passwd --stdin $q &> /dev/null echo “$q users finished”done
例:根据IP地址列表检查主机状态1234567891011121314#!/b ...
Shell语言 —— IF条件判断
条件判断1)文件测试格式:[ 表达式 ] ([ ]括号前后必须有空格)
1234567# 参数选项:-d:是否是目录-f:是否是文件-r:是否具有读取权限-w:是否具有写入权限-x:是否具有执行权限-e:测试文件或目录是否存在
取反1[ ! -d test ];then 目录不存在;fi
判断文件12345678#!/bin/bashf=/root/lijie.txtif [ -f $f ]then echo $f existelse touch $f fi
判断目录12345678#!/bin/bashf=/root/lijie.txtif [ -d $f ]then echo $f existelse touch $ffi
判断文件是否可读123456#!/bin/bashf=/root/lijie.txtif [ -r $f ]then echo $f readablefi
判断文件是否可写123456#!/bin/bashf=/root/lijie.txtif [ -w $f ]then echo $f writeablefi
判断文件是否可执行1234 ...
Shell语言 —— 基础知识
1、脚本俗称:命令的集合2、管道和重定向:
管道:连接多条命令,前一天命令正确执行的结果,作为后一条命令的输入条件。
重定向:将输出到屏幕中的内容保存放到文件中。
3、交互设备文件:输出、输入、错误
标准输入设备:键盘(stdin),设备描述符“0”
标准输出设备:显示器(stdout),设备描述符“1”
错误输出设备:显示器(stderr),设备描述符“2”
4、覆盖数据和追加数据:
覆盖输出重定向>:后面的数据会覆盖以前的数据。
追加输出重定向>>:后面的数据会追加到以前的数据末尾。
覆盖错误输出重定向2>:后面的数据会覆盖以前的数据。
1例:ls /boooooot 2> /q.txt ls 这个booooot这个目录会将报错信息放入q.txt这 个 文件中,因为没有这个booooot这个目录。
追加错误输出重定向2>>:输出的数据会追加到文件的末尾。
覆盖混合输出重定向&>:混合重定向(标准和错误重定向)将标准输出,错误输出到 同一个文件。
追加混合输出重定向&am ...
Centos修改网卡名称
查看虚机默认网卡1234567891011121314[root@jenkins-server ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:b8:49:91 brd ff:ff:ff:ff:ff:ff ...
Docker优雅重启
默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。您可以配置守护程序,以便容器在守护程序不可用时保持运行。此功能称为live-restore。live-restore选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。
在工作中,假如修改了docker的配置而需要重新加载docker守护进程,导致docker容器重启,业务会中断一会,尤其是在生产环境,存在一定的风险。这种情况下,可以启用live-restore功能,以在守护进程不可用时使容器保持活动状态,有以下两种方法设置。
1.将配置添加到守护进程配置,即docker-daemon.json,如下
1234# vim /etc/docker/daemon.json{ "live-restore":true}
可以立即重新启动docker守护程序了。如果你使用systemd,那么使用systemctl reload docker命令。
2.手动启用该过程
1dockerd --live-restore systemd
docker官方文档建议使用第一种方 ...
生产服务器到交换机频繁丢包
ping状态1234567891011121314[root@sxty01 ~]# ping 10.99.160.97PING 10.99.160.97 (10.99.160.97) 56(84) bytes of data.64 bytes from 10.99.160.97: icmp_seq=23 ttl=64 time=0.567 ms64 bytes from 10.99.160.97: icmp_seq=24 ttl=64 time=0.561 ms64 bytes from 10.99.160.97: icmp_seq=25 ttl=64 time=0.564 ms64 bytes from 10.99.160.97: icmp_seq=26 ttl=64 time=0.583 msping: sendmsg: Operation not permittedping: sendmsg: Operation not permitted64 bytes fr ...
数据库同步报错
MySQL主从同步报错,server-id一致导致报错(示例代码)今天新加入一台从库,进行同步master数据,但是my.cnf配置文件直接拷贝,没修改server-id,导致同步状态Preparing
查看主从同步状态
12345678910111213141516171819202122232425>show slave status\G; Relay_Master_Log_File: mysql-bin.000037 Slave_IO_Running: Preparing Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: ...
vnc viewer远程服务器鼠标不同步
12345678sh-4.1# virsh edit win7把下面的参数:<input type='mouse' bus='ps2'/> 改成:<input type='tablet' bus='usb'/>sh-4.1# virsh destroy win7sh-4.1# virsh start win7鼠标不同步问题解决!!!
