存档

作者存档

shell脚本输出带颜色字体

2018年12月14日 没有评论

经常shell下都有需要使用到特殊标记的提示字符。以下很全,网上找来的。转发一下。

输出特效格式控制:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m — \033[37m 设置前景色
\033[40m — \033[47m 设置背景色

光标位置等的格式控制:
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标

\33[?25h 显示光标

整理:
编码 颜色/动作
  0 重新设置属性到缺省设置
  1 设置粗体
  2 设置一半亮度(模拟彩色显示器的颜色)
  4 设置下划线(模拟彩色显示器的颜色)
  5 设置闪烁
  7 设置反向图象
  22 设置一般密度
  24 关闭下划线
  25 关闭闪烁
  27 关闭反向图象
  30 设置黑色前景
  31 设置红色前景
  32 设置绿色前景
  33 设置棕色前景
  34 设置蓝色前景
  35 设置紫色前景
  36 设置青色前景
  37 设置白色前景
  38 在缺省的前景颜色上设置下划线
  39 在缺省的前景颜色上关闭下划线
  40 设置黑色背景
  41 设置红色背景
  42 设置绿色背景
  43 设置棕色背景
  44 设置蓝色背景
  45 设置紫色背景
  46 设置青色背景
  47 设置白色背景
  49 设置缺省黑色背景
特效可以叠加,需要使用“;”隔开,例如:闪烁+下划线+白底色+黑字为 \033[5;4;47;30m闪烁+下划线+白底色+黑字为\033[0m
下面是一段小例子

#!/bin/bash
#
#下面是字体输出颜色及终端格式控制
#字体色范围:30-37
echo -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-47
echo -e “\033[40;37m 黑底白字 \033[0m”
echo -e “\033[41;30m 红底黑字 \033[0m”
echo -e “\033[42;34m 绿底蓝字 \033[0m”
echo -e “\033[43;34m 黄底蓝字 \033[0m”
echo -e “\033[44;30m 蓝底黑字 \033[0m”
echo -e “\033[45;30m 紫底黑字 \033[0m”
echo -e “\033[46;30m 天蓝底黑字 \033[0m”
echo -e “\033[47;34m 白底蓝字 \033[0m”

#控制选项说明
#\033[0m 关闭所有属性
#\033[1m 设置高亮度
#\033[4m 下划线
echo -e “\033[4;31m 下划线红字 \033[0m”
#闪烁
echo -e “\033[5;34m 红字在闪烁 \033[0m”
#反影
echo -e “\033[8m 消隐 \033[0m ”

#\033[30m-\033[37m 设置前景色
#\033[40m-\033[47m 设置背景色
#\033[nA光标上移n行
#\033[nB光标下移n行
echo -e “\033[4A 光标上移4行 \033[0m”
#\033[nC光标右移n行
#\033[nD光标左移n行
#\033[y;xH设置光标位置
#\033[2J清屏
#\033[K清除从光标到行尾的内容
echo -e “\033[K 清除光标到行尾的内容 \033[0m”
#\033[s 保存光标位置
#\033[u 恢复光标位置
#\033[?25| 隐藏光标
#\033[?25h 显示光标
echo -e “\033[?25l 隐藏光标 \033[0m”
echo -e “\033[?25h 显示光标 \033[0m”

python 网络编程 udp示例(转)

2018年12月1日 没有评论

以下对于测试服务器的udp端口及是否协议畅通和可以使用,是很好的办法。

由于UDP是无连接的,与TCP的区别在服务器端表现为,无需监听函数listen()对客户端的连接进行监听; 在客户端的表现为客户端的socket无需与服务器建立连接就能够进行数据的发送与接收,即无需connect()函数。

服务器端代码,udpServer.py:

?View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from socket import *
from time import ctime
 
HOST = ''
PORT = 20123
BUFSIZ = 128
ADDR = (HOST, PORT)
 
#创建一个服务器端UDP套接字
udpServer = socket(AF_INET, SOCK_DGRAM)
#绑定服务器套接字
udpServer.bind(ADDR)
 
while True:
    print 'waiting for message...'
#接收来自客户端的数据
    data, addr = udpServer.recvfrom(BUFSIZ)
#向客户端发送数据
    udpServer.sendto('[%s] %s' % (ctime(), data), addr)
    print '...received from and returned to:', addr
 
udpServer.close()

客户端代码,udpClient.py:

?View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from socket import *
 
HOST = 'localhost'
PORT = 20123
BUFSIZ = 128
ADDR = (HOST, PORT)
 
#创建客户端UDP套接字
udpClient = socket(AF_INET, SOCK_DGRAM)
 
while True:
    data = raw_input('>')
    if not data:
        break
#向服务器端发送数据
    udpClient.sendto(data,ADDR)
#接收来自服务器端的数据
    data, ADDR = udpClient.recvfrom(BUFSIZ)
    print data
    if not data:
        break
 
udpClient.close()
分类: 编程实践 标签: ,

Centos7 设置时区

2018年11月25日 没有评论

从centos7开始,我们设置和调整时区不需要像以前那样麻烦要改文件内容。直接运行以下命令就可以了。很方便。

1
2
3
timedatectl list-timezones
 
timedatectl set-timezone Asia/Shanghai

[kipmi0]进程导致系统负载高(转)

2018年11月11日 没有评论

最近一个用户这边服务器运行四五天就会出现服务器负载很高的情况,原本正常是0.3~0.5左右  不正常的时候会达到3,重启机器就正常,开始以为是程序问题,后来在观察的时候把程序给杀掉了 然后重启,结果负载还是很高,于是挨个分析每个进程发现

查看当前正在运行的进程发现kipmi0进程占用率达到100%。

于是查了下这个进程的一些资料

google查不到多少资料,看到一篇说法:是一些平台接口的管理器。不敢贸然杀死,再查查资料。

看看专业的说法:
kipmi is supposed to run with low priority. When you say it consumes 70-90% of the CPUs, is that constant (does it still consume the processor when they are other tasks in the process queue that should have a larger slice of the CPU time) or the 70%/90% comes when the machine is idle?
A second issue to investigate is whether you have pending controller issues (alarms of varying nature that are not resolved) and/or older versions of controller firmware.

虽然这是一个利用空余的CPU资源进行一些接口自动调节的任务,但看着占那么多的资源还是怕出意外。并且现在已经出了意外 反正不管怎么样试试

Fix:不需要修复
No fix required. You should ignore increased CPU utilization as it has no impact on actual system performance.
利用空余的CPU资源进行一些接口自动调节的任务。

临时降低(立即生效,cpu占用率降到10%以内):

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

永久性降低(修改配置文件,模块/系统重启生效)

To make the changes persistent you can configure the options for the ipmi_si kernel module.
Create a file in /etc/modprobe.d/, i.e./etc/modprobe.d/ipmi.conf, and add the following content:
# Prevent kipmi0 from consuming 100% CPU

echo “options ipmi_si kipmid_max_busy_us=100″>/etc/modprobe.d/ipmi.conf

修改了了之后再查看下系统负载,果然降低到了正常值。

分类: 解决方案 标签:

你所不了解的“T3+”机房等级标准(转)

2018年11月2日 没有评论
Tier等级标准的等级分类
T1:基本机房基础设施 T2:冗余机房基础设施容量组件 T3:可并行维护的机房基础设施 T4: 容错机房基础设施
a) T1 基本数据中心拥有非冗余容量组件,以及一个单一的非冗余分配路径来为关键环境提供服务。T1 基础设施包括:IT 系统的专用空间、过滤电力峰值、谷值和暂时中断的 UPS;专用冷却备;以及避免 IT 功能受长期断电影响的引擎式发电机。
b) 为引擎式发电机储备 12 个小时的现场燃料存储。
a) T2 数据中心拥有冗余容量组件,以及一个单一的非冗余分配路径来为关键环境提供服务。冗余组件是额外的引擎式发电机、UPS 模块和能量存储、冷却器、散热设备、泵、冷却装置和燃料箱。
b) 为“N”容量储备 12 个小时的现场燃料存储。
a) 可并行维护的数据中心拥有冗余容量组件,以及多个独立分配路径来为关键系统提供服务。任何时候,只需一个分配路径为关键环境提供服务。
b) 所有 IT 设备均为双电源供电(如 Uptime Institute 的《容错电源合规规范 2.0 版》所述),并且合理安装以兼容机房架构的拓扑。如果关键环境不满足这一规范,则必须采用使用点开关等传输装置。
c) 为“N”容量储备 12 个小时的现场燃料存储。
a) 容错数据中心拥有多个独立的物理隔离系统来提供冗余容量组件,以及多个独立、不同、激活的分配路径同时为关键环境提供服务。冗余容量组件和不同的分配路径配置时应采用的原则是,任何基础设施出现故障后,“N”容量均会为关键环境提供电力和冷却。
b) 所有 IT 设备均为双电源供电(如 Uptime Institute 的《容错电源合规规范 2.0 版》所述),并且合理安装以兼容机房架构的拓扑。如果关键环境不满足这一规范,则必须采用使用点开关等传输装置。
c) 补充系统和分配路径必须相互物理隔离(分区化),以防任何单项事件同时影响两个系统或分配路径。
d) 需要连续冷却。
e) 为“N”容量储备 12 个小时的现场燃料存储。

华为机房建设为T3+的标准,也就是几乎接近于高级别的数据机房标准,因此,用户大可不必担心自己的数据安全性问题。选择华为云,您的数据是绝对安全的。
——-华为云,有技术,有未来,值得信赖。

分类: 网络产品 标签:

Microsoft SQLServer, 错误 : 15023,用户、组或角色’XXX’在当前数据库中已存在如何解决

2018年10月23日 没有评论

为一个数据库添加一个用户或者映射数据库时,提示以下错误信息:
用户、组或角色 ***** 在当前数据库中已存在。 (Microsoft SQLServer, 错误 : 15023)

问题原因:在还原数据库的过程中,在其它sql server服务器上进行还原之后,会出现一个在原服务器上可以正常的用户在目标服务器上出现无法登录的使用。

解决方法:
当数据库恢复到其他服务器时,原数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况可能会出现上面的问题。该问题是无法通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题。由于SQLServer会提示“错误15023:当前数据库中已存在用户或角色”,要解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下:

1.打开SQL Server Management Studio, 右键选择“数据库”>“新建查询”
输入以下sql脚本:

Use 数据库名
go
sp_change_users_login update_one, XXX, XXX

接着执行脚本即可。

注:其中update_one是存储过程的参数,表示只处理一个用户,前一个XXX是“用户”,后一个XXX是“登录”,以上这个SQL表示将服务器登录“XXX”与数据库用户“XXX”重新关联。

firewalld对指定IP开放指定端口的配置

2018年10月5日 没有评论

1.打开firewalld防火墙

systemctl start firewalld.service
2.添加防火墙规则(对指定ip开放指定端口)
(以下红色字体需要根据实际情况修改)

#(1) Postgresql端口设置。允许192.168.142.166访问5432端口
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ source address=”192.168.142.166″ port protocol=”tcp” port=”5432″ accept”
#(2)redis端口设置。允许192.168.142.166访问6379端口
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ source address=”192.168.142.166″ port protocol=”tcp” port=”6379″ accept”
#(3)beanstalkd端口设置。允许192.168.142.166访问11300端口
firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ source address=”192.168.142.166″ port protocol=”tcp” port=”11300″ accept”
3.重启防火墙,使配置生效

systemctl restart firewalld.service
4.查看配置结果,验证配置

firewall-cmd –list-all
5.删除规则

示例:

firewall-cmd –permanent –remove-rich-rule=”rule family=”ipv4″ source address=”192.168.142.166″ port protocol=”tcp” port=”11300″ accept”
systemctl restart firewalld.service

分类: Linux, 解决方案 标签: ,

IPLC和IEPL特点区别

2018年9月5日 没有评论

IPLC是”International Private Leased Circuit” 的缩写,即“国际专线”,是指用户专用的跨国的数据、话音等综合信息业务的通信线路。通俗地说,也就是指传统的专线,如DDN、E1等,用于互连两点之间的通信,只不过IPLC是跨国跨境的而已。

IPLC 特点:

1、用户按需要租用带宽,并独享租用带宽
2、传输速率选择范围大(N*64K-2Mbps、45M、155M)
3、支持语音、数据、图像、传真、视频等综合信息的传输
4、承担大数据量的安全、稳定、高速、低误码率传送
5、为客户与遍布世界各地的分支机构之间架起直通的点对点连接

主要面向客户群体:

1、外资企业的在华分支机构
2、有海外分支机构的国内企事业单位
3、有与海外进行高质量数据/话音/视频通信需求的公司

国际专线(IPLC)业务提供端到端、可管理和专用的优质全透明数字电路,广泛应用于跨国企业、银行、证券、教育、互联网服务等行业的互联,可以较好支持视频和语音应用。 IPLC包括国际SDH、DDN、ATM及FR专线。

「国际以太网专线服务(IEPL),该服务为一个端对端的管理式频宽服务方案,透过网络平台,为客户提供可作无限扩充的点对点专用跨境通讯服务。
国际以太网专线(IEPL)业务是长城宽带在传输网之上提供的以太网解决方案,基于长城宽带最新的多业务传送平台MSTP,通过标准的以太网接口,向客户提供运营商级的点到点和点到多点的国际以太网专线连接。

Win10专业版下禁止系统自动安装游戏的解决方法

2018年9月2日 没有评论

Win10专业版系统自动安装应用到时遇见过,自动安装游戏程序还真是第一次碰到,这到底是什么情况呢?其实大家大可不必惊慌,我们只需将其禁用就可以解决问题了,下面,跟随小编一起来看看解决Win10专业版下禁止系统自动安装游戏程序的方法。
解决方法:
1、使用win+r快捷键打开运行窗口,输入regedit命令按回车

2、依次打开“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows”,然后右击新建名为CloudContent的子项

3、点击CloudContent项,在右边空白处新建一个DWORD(32位)值,重命名为“DisableWindowsConsumerFeatures”

4、双击DisableWindowsConsumerFeatures,把数值数据修改为1,点击“确定”保存,

以上就是win10专业版下禁止系统自动安装游戏的解决方法,有遇到同样情况的用户可参考上面方法解决。

分类: 解决方案 标签: ,

ie默认首页修改,注册表位置

2018年8月19日 没有评论

安装完网上自带的一些系统。总有影响ie的默认首页,其实都在注册表这些地方。

示例

?View Code REGEDIT
1
2
3
4
5
6
7
8
9
10
11
12
13
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Baidu\BaiduProtect\LockIEStartPage]
"Start Page"="http://www.vps12.com/?3"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN]
"Default_Page_URL"="http://www.vps12.com/?3"
"Start Page"="http://www.vps12.com/?3"
"First Home Page"="http://www.vps12.com/?3"
 
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="http://www.vps12.com/?3"
"Default_Page_URL"="http://www.vps12.com/?3"