开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

Smokeping快速安装指南

偶尔会用到Smokeping,隔久了全忘。 记录一下安装配置的核心步骤,以作备忘。
胡凯 发布于 2天前 阅读 77

shell特殊符号cut命令sort_wc_uniq命令 tee_tr_split命令 shell特殊符号下

cut sort wc uniq tee tr split命令 • cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符 cut -d ":" -f 1 /etc/passwd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 2,4 /etc/paaswd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 1-3 /etc/passwd 截取/etc/passwd文件中以:分割的1到3段 head -n 3 /etc/passwd |cut -d":" -f 1 /etc/passwd 的前三行截图第一段 cut -c 6 /etc/passwd 提取每行的第六个字符 cut -c 1-8 /etc/passwd 提取每行的前八个字符 • sort 排序, -n 以数字排序 -r 反序  -u 去重复 -t 分隔符 -kn1/-kn1,n2 sort /etc/passwd sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较, 最后将它们按升序输出。 head -n 5 /etc/passwd |sort -t: -k3 -n root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin -t后面跟分割符,-k后面跟数字,表示第几个区域的字符串排序,-n则表示使用纯数字排序。 head -n5 /etc/passwd | sort -t: -k3,5 -r lp:x:4:7:lp:/var/spool/lpd:/s...
laoba 发布于 2天前 阅读 82

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。
郑龙飞 发布于 5天前 阅读 972 评论 6 点赞 1

VisualVM 通过JMX、Jstatd 对tomcat 监控

常用的监控jvm的东西叫JMX(Java Management Extensions,即Java管理扩展)。(后面也有了解到一个叫zabbix的系统,也可以通过JMX实现对jvm监控,这个系统功能比较多,还能做到微信公众号异常通知,读者可以自行去了解,这里不多描述)。在搭建这个JMX环境的时候遇到了一些问题,在这里总结一下,希望有兴趣搭建的同学避免一些不必要的坑。
守望_半吊子 发布于 1周前 阅读 234 点赞 2

ulimit命令详解

ulimit用来限制每个用户可使用的资源,如CPU、内存、句柄等。下面以CentOS 6.5为例进行总结。
Rhys_Lee 发布于 2周前 阅读 159 点赞 1

分分钟钟搭建基于skywalking的APM系统

在Windows环境搭建一个简单的例子
tqyin 发布于 2周前 阅读 303

【Linux Deploy】一、Linux Deploy安装配置使用教程

作为一个程序猿和一个业余的玩机爱好者,自然喜欢折腾各种技术和设备,前几天无意间注意到一个可以在安卓机器上使用chroot容器技术运行arm或者x86的Linux系统(目前有些手机可能支持x64了),本文就亲自来体验下,还有后续使用该技术做一些好玩的事情(提前透露:利用手机搭建个人的云主机服务),不多说了下面开始教程
MaxBill 发布于 3周前 阅读 248

迷之 crontab 异常:不运行、不报错、无日志

1、背景 前几天新同学入职,一不小心将跳板机上的 crontab 清空了,导致凌晨一大批任务异常,同事问了运维同学也没有备份,这一百多个任务要是恢复起来可不是件容易的事儿。还好我去年某天开始做了定时备份,每分钟一次 backup 到本地磁盘,最后很容易的将 crontab 给恢复了。 这件事情过后我也在想,一台跳板机整个部门都共用一个账号, Linux 水平和安全意识又参差不齐,其实很难避免以后还会误操作,比如一下子将 home 目录全干掉。所以我想 backup 最好不要保存在本地,于是想一条命令将其备份到 hadoop 集群上去。 2、问题 当时觉得这个问题很简单,于是随手写了一条类似这样的命令: */1 * * * * /bin/cat <(seq 10) >> /root/a.log 2>&1 本地测试了没问题,但是 crontab 怎么都不成功,也看不到错误日志,a.log 一直是空的。 这个我就比较好奇了,按理说 a.log 应该是能拿到所有的标准输出和标准错误的,究竟什么原因导致 crontab 既不执行又不报错呢? 3、分析 debug 终极大法还是得看日志,本 case 最让人疑惑的在于没有日志,如果能找到日志所有的迷雾应该都能烟消云散。 于是,我尝试看看 /var/log 下有没有 crontab 的执行日志,看了...
xrzs 发布于 4周前 阅读 2214 评论 1 点赞 1

DevOps转型成功之路 - 五大实践及转型具体实施建议

作者:国际最佳实践管理联盟特邀专家 张乐
OSC_Lucy 发布于 1个月前 阅读 408

DevOps转型成功之路1 - 转型的意义

作者:国际最佳实践管理联盟特邀专家 张乐
OSC_Lucy 发布于 1个月前 阅读 348

为 jumpserver跳板机 添加 验证码 功能

# Jumpserver-VerificationCode ### 介绍 1. 项目地址:[Jumpserver-VerificationCode](https://gitee.com/XWJR-Ops/Jumpserver-VerificationCode) 2. 本项目为[jumpserver](https://github.com/jumpserver/jumpserver)添加了企业微信验证码功能 ### 使用方法 1. 3个脚本放置与jumpserver根目录 2. 修改 **/etc/passwd** 中的**init.sh**修改为**NewInit.sh** ### 效果图 ![image](https://raw.githubusercontent.com/XWJR-Ops/Jumpserver-VerificationCode/master/image/1.jpg) ![image](https://raw.githubusercontent.com/XWJR-Ops/Jumpserver-VerificationCode/master/image/2.jpg) ![image](https://raw.githubusercontent.com/XWJR-Ops/Jumpserver-VerificationCode/master/image/3.jpg)...
火星小刘 发布于 1个月前 阅读 229 评论 1 打赏 1

Manjaro安装与基本配置

0. 安装 # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装bumblebee driver boot(non-free) 如果是WIndows+Manjaro双系统安装, 步骤可以参考:https://my.oschina.net/langxSpirit/blog/1633384 1.系统信息 #查看系统信息 inxi -Fx   2.网络设置 #查看网络状态 ping 8.8.8.8 ------------ connect: Network is unreachable ------------ #如果网卡驱动是正常,请尝试手动设置IP地址、网关、DNS信息 3.笔记本双显卡设置 #查看显卡NVIDIA状态 lspci| grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GTX 660M] (rev ff) Nvidia 卡信息的末尾是 rev ff,表示独显已经关闭。现在运行的是intel核显,这正是我们安装bumblebee目的。 bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware。 https://wiki.archlinux.org/index.php/Bumblebee https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 要使用 Bumblebee,请确保添加你的用户到 bumblebee 组: $  ...
斯武丶风晴 发布于 1个月前 阅读 512

DevOpsDays Beijing 2018年5月5日登陆北京

对于那些正在致力于通过DevOps实践来提升企业在数字化时代核心竞争力的企业和从业人士而言,这绝对将是一个令人无比激动和兴奋的日子。
OSC_Lucy 发布于 1个月前 阅读 135

Linux配置开机自启动执行脚本的两种方法

开机要启动的脚本qidong.sh [root@c69-01 scripts]# vim /server/scripts/qidong.sh [root@c69-01 scripts]# cat /server/scripts/qidong.sh #!/bin/bash /bin/echo $(/bin/date +%F_%T) >> /tmp/qidong.log 方法一:修改/etc/rc.local /etc/rc.local,该文件为链接文件 [root@c69-01 ~]# ll /etc/rc.local lrwxrwxrwx. 1 root root 13 Feb 5 10:03 /etc/rc.local -> rc.d/rc.local 修改/etc/rc.local文件 [root@c69-01 scripts]# tail -n 1 /etc/rc.local /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null 重启系统,查看结果 [root@c69-01 ~]# cat /tmp/qidong.log 2018-02-19_23:30:56 已开机自启动该脚本 方法二:chkconfig管理 删除掉方法一的配置 [root@c69-01 ~]# vim /etc/init.d/test #!/bin/bash # chkconfig: 3 88 88 /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null [root@c69-01 ~]# chmod +x /etc/init.d/test 添加到chkconfig,开机自启动  [root@c69-01 ~]# chkconfig --add test [root@c69-01 ~]# chkconfig --list test test 0:off 1:off 2:off 3:on 4:off 5:off 6:off 重启系统,查看结果 [root@c69-...
Linux_yk 发布于 2个月前 阅读 1945 评论 6 点赞 5

Ubuntu on Windows10 跨平台开发环境搭建权威指南

程序猿经常争论的一个话题是:日常开发到底 Windows 好还是 Linux 好?进而演化出另一个问题:到底选 MacBook 好还是 SurfaceBook 好? 选择 Linux 系统或者 mac 笔记本的同学最核心的理由是 Linux/Mac 开发、编译工具链比较完善,很多环境或者安装包都系统自带了,写出来的程序可以很方便的通过开发、测试与线上系统对接,开发测试效率比较高,而 Windows 下开发的同学可能需要考虑开发、测试代码的可移植性问题。就拿笔者来说,也曾经遇到过某些 java/python API 不支持 Windows 的问题,这给日常开发带来了不小的麻烦。 在 Windows10 以前,咱们为了解决 Windows 开发环境跨平台的问题,往往会选择 cygwin,这个项目本身已经很成熟了,笔者也用了很多年,它能在 Windows 下模拟一套类 Linux 的环境,用它应付一般的开发测试问题不大。但它的缺点在于组件、包管理器比较弱,对于日后的环境维护相当麻烦,而且一些底层 API 模拟的并不完善,对于一些涉及 Linux 底层的系统调用等场景显得很鸡肋。幸运的是2016 年微软在 Windows10 WSL 里开始内置 Ubuntu,之后又开始在 Microsoft Store 以 UWP APP 的形式发布各个 Linux 系统。这...
xrzs 发布于 2个月前 阅读 4967 评论 9 点赞 1

nginx+keepalive主从双机热备+自动切换解决方案

### 安装 安装必要环境组件及应用 ``` yum -y install gcc openssl-devel popt-devel libnl* kernel-devel ipvsadm libnfnetlink libnfnetlink-devel net-snmp-agent-libs ``` 下载keepalived ``` wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz ``` 建立内核软连接 ``` ln -s /usr/src/kernels/$(uname -r)/ /usr/src/linux ``` 解压并进行编译安装 ``` tar xvf keepalived-1.3.5.tar.gz cd keepalived-1.3.5 ./configure make && make install ``` 为方便以后操作给应用部分文件创建软连接 ``` ln -s /usr/local/etc/keepalived/ /etc/ ln -s /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ ln -s /usr/local/sbin/keepalived /usr/sbin/ ``` ==#也可以用yum直接安装== ### 配置文件解析 /etc/keepalived/keepalived.conf ``` global_defs { # 全局配置模块 } vrrp_instance VI_1 { # VRRP配置模块 } virtual_server 192.168.111.100 80 { # LVS配置模块 } ``` ### 配置实例 --- 服务器|IP地址|说明 ---|---|--- 主LVS调度器|192.168.40.11|用于访问WEB服务器负载均衡 副LVS调度器|192.168.40.12|使用Keepalived做双机备份,保证LVS负载均衡稳...
ZHAO_JH 发布于 3个月前 阅读 676 评论 5 点赞 1

解决“/bin/bash^M: bad interpreter: No such file or directory”

原因:在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识 解决方法: (1)使用linux命令dos2unix filename,直接把文件转换为unix格式; (2)使用sed命令sed -i "s/\r//" filename  或者 sed -i "s/^M//" filename直接替换结尾符为unix格式; (3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。 查看脚本文件是dos格式还是unix格式的几种办法。 (1)cat -A filename  从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$; (2)od -t x1 filename 如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式; (3)vi filename打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix。...
cephn1 发布于 3个月前 阅读 414

Linux监控平台——搭建zabbix监控平台,zabbix监控主动模式、被动模式、添加监控主机、添加自定义模板、处理图形乱码、自动发现

第十九章 Linux监控平台搭建 19.1 Linux监控平台介绍 常见开源监控软件 cacti、nagios、zabbix、smokeping、open-falcon等等。 cacti、smokeping偏向于基础监控,成图漂亮。 cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态;zabbix会获取服务或者监控项目的数据从而可以成图,zabbix把数据记录到数据库里,支持历史数据查询,而且zabbix可以非常方便的自定义监控项目。 open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。 本节学习以zabbix为例。   19.2 zabbix监控介绍 zabbix基于C++开发,是C/S(client/server)架构,即分为客户端和服务端,单个服务端节点可以支持上万台客户端,监控中心支持web UI(web界面)配置和管理。 查看zabbix官方文档:https://www.zabbix.com/manuals 是学习zabbix的最好途径。 zabbix组件 zabbix整个体系架构中有以下5个主要角色: zabbix-server zabbix-server是整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有...
Champin 发布于 3个月前 阅读 569 评论 2 点赞 1

keepalived+nginx搭建高可用(注意点)

1. 在yum安装完keepalived之后,配置keepalived的配置文件 - 注意点 - 在master和backup的keepalived的配置文件中,网卡名字为当前机器的网卡名称 - VIP的选择为 可用的一个ip,通常在做高可用,局域网环境比较多, 所以这个vip是和两台机器同网段的一个内网ip。 如果用在外网环境下,无所谓在不在一个网段,只要客户端能访问到。 2. 停掉nginx服务,启动keepalived服务,会看到keepalived拉动nginx服务启动 - 若是无法启动失败,基本都是配置文件和脚本的问题,或者是 防火墙和selinux未关闭的原因。 ``` systemctl stop firewalld 关闭firewalld iptables -nvL setenforce 0 临时关闭selinux getenforce命令查看是否为Permissive ``` 3. keepalived的脚本需要设置成755权限,否则有可能会导致实验失败 4. 查看vip的时候,只能使用 ip add 命令 查看,而 ifconfig命令 是无法查看的 5. yum安装的nginx,默认的索引页在 /usr/share/nginx/html/index.html...
运维小白 发布于 3个月前 阅读 581

容器云方案部署文档

## 概述 ![虚拟机与容器](http://upload-images.jianshu.io/upload_images/5592768-f0b258f0b641bc29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 虚拟机和容器技术的实现了服务器计算环境的抽象和封装,可以作为服务器平台上的应用程序运行的软件实体。多台虚拟机和容器可以被部署在一台物理服务器上,或将多台服务器整合到较少数量的物理服务器上,但是容器技术不是为了完全取代传统虚拟机技术,两者有本质的区别: * 虚拟机技术属于系统虚拟化,本质上就是在模拟一台真实的计算机资源,其中包括虚拟CPU,存储,以及各种虚拟硬件设备——这意味着它也拥有自己的完整访客操作系统; * 容器技术则是应用虚拟化,使用沙箱机制虚拟出一个应用程序运行环境,每个运行的容器实例都能拥有自己独立的各种命名空间(亦即资源)包括: 进程, 文件系统, 网络, IPC , 主机名等; 虚拟机将整个操作系统运行在虚拟的硬件平台上, 进而提供完整的运行环境供应用程序运行,同时也需要消耗更过的宿主机硬件资源; 而Docker等容器化应用时使用的资源都是宿主机系统提供的,仅仅是在资源的使用上只是做了某种程度的隔离与限制.比起虚拟机,容器拥有更高的资源使用效率,实例规模更小、创建和...
行者深蓝 发布于 3个月前 阅读 342

AIX批量创建用户脚本

#!/bin/ksh ####批量创建用户#### SuperDir=/dbbackup/ftpuser/ ##用户上级目录定义 PGRP=test ##属组定义 set -A username test1 test2 test3 test4 test5 test6  ##添加用户列表  for userinfo in ${username[@]} do     echo "create user ${userinfo}"     mkdir -p ${SuperDir}${userinfo}     ln -s ${SuperDir}${userinfo} /${userinfo}     OLDUID=$(cat /etc/passwd | grep -v '4294967294'| cut -d ':' -f3 | sort -rn | awk 'Begin {max=0} {if($0>max)max=$0 fi}END{print max}')     currentUID=$((OLDUID+1))     echo $(cat /etc/group | grep -v '4294967294'| cut -d ':' -f3 | sort -rn | awk 'Begin {max=0} {if($0>max)max=$0 fi}END{print max}')     mkuser id=${currentUID} pgrp=${PGRP} groups=${PGRP} home=/${userinfo} ${userinfo}     chown ${userinfo}:${PGRP} ${SuperDir}${userinfo} done  ------------------------------------------------------------------------------------------------------------ 以下命令单独执行: 查看最大UID echo $(cat /etc/passwd | grep -v '4294967294'| cut -d ':' -f3 | s...
晒太阳的小猪 发布于 54分钟前 阅读 14

sed

## 9.4/9.5 sed 1. `# cd ~ ; mkdir sed; cd sed; cp ../grep/passwd test.txt` 2. sed可以实现grep的功能,但是没有颜色显示,但是有一个grep没有的功能即:可以替换指定的字符。 3. `# sed -n '/root/'p test.txt` -n不显示无用行,p表示打印到屏幕 4. `# sed -nr '/o+t/'p test.txt`-r表示脱义 5. 其他选项和grep一样 6. `# sed -n '2'p test.txt`打印出来第2行 7. `# sed -n '2,5'p test.txt`打印出来第2到5行 8. `# sed -n '25,$'p test.txt`打印出来第25行到最后一行,$表示末行 9. `# sed -n '1,$'p test.txt`打印出来全部行 10. `# sed -e '1'p -e '/bus/'p -n test.txt`将第一行打印出来并且匹配带有bus的行-e可以写多个,进行多个匹配过滤 11. `# sed -n '/bus/'Ip test.txt` I表示不区分大小写进行匹配 12. `# sed '1,10'd test.txt`显示除第1到10行以外的行,但是并没有将前10行删除 13. `# sed -i '1,10'd test.txt`删除前十行 14. `# sed -i '/user2/'d test.txt`删除含有user2相关的行 15. `# sed '1,10s/root/toor/g' test.txt`将文档中的root替换为toor 16. `# sed -e '1,10s/ro+/r/g' test.txt |head`替换前十行 17. `# head test.txt | sed -r 's/(...
派派菠菜 发布于 9小时前 阅读 9

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

linux各个发行版本对比与简介

首先我们要能够清晰的区分Linux系统内核与Linux发行套件系统的区别,Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而Linux发行套件系统才是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品,全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群,所以绝不能一概而论谁是第一,谁是第二。     Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Red Hat(RHEL红帽)为代表,后者以Debian为代表。下面我来总结和对比一下几个Linux的发行版本。     1.RHEL红帽                 Redhat,应该称为Redhat系列,包括            (1)RHEL  (Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本,稳定性非常好,适合服务器使用)            (2)Fedora Core  (由原来的Redhat桌面版本发展而来,免费版本,稳定性较差,最好只用于桌面应用)            (3)CentOS  (RHEL的社区克隆版本,免费版本,稳定性非常好,适合服...
河图再现 发布于 10小时前 阅读 6 评论 1

通过案例分析MySQL中令人头疼的Aborted告警

通过案例分析MySQL中令人头疼的Aborted告警 转载  2017-06-29   作者:dbapower   我要评论 这篇文章通过案例跟大家分析了MySQL中令人头疼的Aborted告警的相关资料,文中将Aborted告警介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。     本文主要给大家介绍的是关于MySQL中Aborted告警的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 实战 Part1:写在最前 在MySQL的error log中,我们会经常性看到一些各类的Aborted connection错误,本文中会针对这类错误进行一个初步分析,并了解一个问题产生后的基本排查思路和方法。掌握这种方法是至关重要的,而不是出现问题了,去猜,去试。数据库出现问题的时候需要DBA在短时间内快速解决问题,因此一个好与坏的DBA,区别也在于此。 Part2:种类 ? 1 2 3 4 5 6 [Warning] Aborted connection 305628 to db: 'db' user: 'dbuser' host: 'hostname' (Got an error reading communication packets) [Warning] Aborted connection 81 to db:'unconnected' user: 'root' host: '127.0.0.1' (Got timeout reading communication packets) [Warning] Aborted connection 109 to db:'...
linjin200 发布于 6小时前 阅读 6

linux ssh、sftp、scp命令远程传输文件

以下实验数据都是手工亲测,非拷贝而来,所以真实可靠,也是我在工作当中经常用到的一些命令,分享出来,大家一块学习。系统操作环境Centos7.3 64 *2,两台机器都在公网IP地址分别是 A:223.5.5.5 B:223.6.6.6 sftp是一个交互式文件传输程式 它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。 sftp用法 如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号 即可。 # sftp root@223.6.6.6 The authenticity of host ‘223.6.6.6 (223.6.6.6)’ can’t be established. ECDSA key fingerprint is SHA256:Hl/dKTFzL4lOlF8DIG5itaV4OAsZunC2AWlFGLjLfsg. Are you sure you want to continue connecting (yes/no)? yes【输入yes回车】 Warning: Permanently added ‘223.6.6.6’ (ECDSA) to the list of known hosts. root@223.6.6.6’s password:【输入223.6.6.6的root密码并回车】 Connected to 223.6.6.6. sftp> 将223.6.6.6服务器文件下载到223.5.5.5的home目录; sftp> get /var/www/renwole.txt /home/ 将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录; sftp> put /home/renwole.txt /mnt/ 你如果不知道远程主机的目录是什么样,...
六库科技 发布于 5小时前 阅读 5

使用 Docker Machine 添加机器记录

# 环境配置 一台MBPR+三台虚拟机 配置:4CPU 8G 80G - 192.168.1.76 master - 192.168.1.85 salve1 - 192.168.1.127 salve2 ## DockerMachine 安装 1. 使用`ssh-copy-id`配置免密登录 1. `docker-machine create --driver generic --generic-ip-address=192.168.1.76 master` ``` 安装过程中卡住 Running pre-create checks... Creating machine... (master) No SSH key specified. Assuming an existing key at the default location. Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with centos... ``` 1. 使用`-D`命令打印安装日志`docker-machine -D create --driver generic --generic-ip-address=192.168.1.76 master`发现在`curl -fsSL https://get.docker.com`时停住直到超时 ``` 不开vpn发现docker.com下访问都很慢,搜了一些贴如http://get.daocloud.io/#install-docker 中推荐使 用`curl -sSL https://get.daocloud.io/docker | sh`来进行安装,看了下脚本DOWNLOAD URL使用https://mirrors.aliyun.com/do...
铂金蛋蛋 发布于 5小时前 阅读 5

CIO 真正需要 DevOps 团队做什么?

团队需要 IT 领导者关注三件事:沟通、技术债务和信任。 IT 领导者可以从大量的 DevOps 材料和 向 DevOps 转变 所要求的文化挑战中学习。但是,你在一个 DevOps 团队面对长期或短期的团结挑战的调整中 —— 一个 CIO 真正需要他们做的是什么呢? 在我与 DevOps 团队成员的谈话中,我听到的其中一些内容让你感到非常的意外。DevOps 专家(无论是内部团队的还是外部团队的)都希望将下列的事情放在你的 CIO 优先关注的级别。 1. 沟通 第一个也是最重要的一个,DevOps 专家需要面对面的沟通。一个经验丰富的 DevOps 团队是非常了解当前 DevOps 的趋势,以及成功和失败的经验,并且他们非常乐意去分享这些信息。表达 DevOps 的概念是很困难的,因此,要在这种新的工作关系中保持开放,定期(不用担心,不用每周)讨论有关你的 IT 的当前状态,如何评价你的沟通环境,以及你的整体的 IT 产业。 相反,你应该准备好与 DevOps 团队去共享当前的业务需求和目标。业务不再是独立于 IT 的东西:它们现在是驱动 IT 发展的重要因素,并且 IT 决定了你的业务需求和目标运行的效果如何。 注重参与而不是领导。在需要做决策的时候,你仍然是最终的决策者,但是,理解这些决策的最好方式是协...
linuxprobe16 发布于 7小时前 阅读 5

awk命令详解

awk命令 awk也是流式编辑器,针对文档中的行和段进行操作 awk可以分为几个部分: 匹配字符或者字符串 截取文档中的某一段 条件操作符 数学运算 内置变量 实例1: head -n2 test.txt|awk -F ':' '{print $1}' head -n2 test.txt|awk -F ':' '{print $0}' awk -F ':' '{print $1"#"$2"#"$3"#"$4}' awk '/oo/' test.txt awk -F ':' '$1 ~/oo/' test.txt awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt awk -F ':' '$3=="0"' /etc/passwd awk -F ':' '$3>="500"' /etc/passwd awk -F ':' '$3>=500' /etc/passwd awk -F ':' '$7!="/sbin/nologin"' /etc/passwd 匹配字符或者字符串 匹配root的行 [root@yong-02 sed]# awk '/root/' test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin awk可以做到匹配某一段中的某个字符,以:分隔,匹配第一段中带有root的行 [root@yong-02 sed]# awk -F ":" '$1 ~/root/' test.txt root:x:0:0:root:/root:/bin/bash awk匹配字符可以使用正则 匹配/roo?/ [root@yong-02 sed]# awk '/roo?/' test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin c...
lyy549745 发布于 5小时前 阅读 4

ubuntu 的包管理也算是奇葩了

通常能记得大概就是如何安装一个软件包,例如安装 Docker, 包名是 "docker-ce"。 安装: ``` apt-get install docker-ce ``` 安装指定版本: ``` apt-get install docker-ce=18.03.0~ce-0~ubuntu ``` 查询一下有哪些可用版本: ``` apt-cache madison docker-ce ``` 查询一下我究竟有没有装过? ``` dpkg -l|grep docker ``` (待续)
伪猫 发布于 2小时前 阅读 4

通过Let's Encrypt申请免费https证书

Let's Encrypt,https,centos
阿笨哥 发布于 2小时前 阅读 4

awk

• head -n2 test.txt|awk -F ':' '{print $1}' 打印test.txt前两行的第一段; 说明:-F后面跟分割符;$1表示第一段;{}花括号括起来print的范围;   • head -n2 test.txt|awk -F ':' '{print $0}' 说明:$0 打印所有段;   • awk -F ':' '{print $1"#"$2"#"$3"#"$4}' 以:为分割符打印出第一段,第二段,第三段,第四段,显示的以#作为分割符 说明:   • awk '/oo/' test.txt 匹配字符或字符串;匹配包含oo的行;   • awk -F ':' '$1 ~/oo/' test.txt 针对某个段匹配;匹配第一段包含oo的行;   • awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt awk -F ':' '/root/ {print $1,$3} ; /test/ {print $1,$3}' test.txt 多次匹配;包含root的打印第一段和第三段,包含test的打印第一段和第三段;   条件操作符: == 等于 > 大于 < 小于 != 不等于 >= 大于等于 <= 小于等于 说明:当比较数字时,不能加引号,加引号后就不是按数字大小来比了,而是按ASCII码比对。   • awk -F ':' '$3==0' /etc/passwd # root:x:0:0:root:/root:/bin/bash 第三段为 0的行   • awk -F ':' '$3>=500' /etc/passwd #polkitd:x:999:998:User for polkitd:/:/sbin...
laoba 发布于 6小时前 阅读 4

T-Pot多蜜罐平台:让蜜罐实现更简单

  这两年蜜罐技术被关注的越来越多,也渐形成低交互、中交互、高交互等交互程度的各类蜜罐,从web业务蜜罐、ssh应用蜜罐、网络协议栈蜜罐到系统主机型蜜罐的各功能型蜜罐。小到一个word文档的蜜标,到一个系统级的服务蜜罐,再到多功能蜜罐组成的蜜网,大到包含流控制重定向分布式蜜网组成的蜜场。 随着虚拟化技术的发展,各种虚拟蜜罐也得到发展,可以通过虚拟机来实现高交互蜜罐,以及通过docker实现的业务型蜜罐,不再像是以前需要昂贵硬件设备的部署支撑,这也大大减少了蜜罐的部署成本,一台主机就可以实现整个集数据控制,数据捕获和数据分析于一体多功能多蜜罐高交互蜜网的体系架构。也已经产生了一些不错的开源蜜罐产品或项目,比如MHN(现代蜜网)、HoneypotProject。 MHN现代蜜网简化了蜜罐的部署,集成了多种蜜罐的安装脚本,可以快速部署、使用,也能够快速的从节点收集数据。国外也有很多公司做基于蜜罐的欺骗技术产品创新。 蜜罐高保真高质量的数据集把安全人员从以前海量日志分析的繁琐过程中解脱出来,对于蜜罐的连接访问都是攻击信息,并且不再像以前的特征分析具有一定的滞后性,可以用于捕获新型的攻击和方法。前段时间作者就通过高交互蜜罐捕获了ssh自...
刀剑如梦 发布于 6小时前 阅读 4

pmm邮件报警

上次写过一个安装pmm监控mysql的文章,但没有写到告警的配置部分,其实很简单,这些写一下。 docker exec -it 57e88bade14f  /bin/bash vim /etc/grafana/grafana.ini #################################### SMTP / Emailing ########################## [smtp] enabled = true host = "smtp.mxhichina.com:80" user = "zabbix@liyuXXX.com" # If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" password = 123456 ;cert_file = ;key_file = ;skip_verify = false from_address = "zabbix@liyuXXX.com" from_name = Grafana [emails] ;welcome_email_on_sign_up = false 如果有错误信息 tail -f /var/log/grafana/grafana.log  最后在WEB界面上测试发送一下。...
gaolongquan 发布于 1个月前 阅读 29

ceph mds的客户端告警记录

``` mds0: Client dev:jenkins failing to respond to cache pressure ``` 解决操作 ``` ceph daemon mds.0 session ls ``` 查看状态是"state": "stale",的客户端连接 然后进行驱逐 ``` ceph daemon mds.d139 session evict $ID ```
xueyi28 发布于 3小时前 阅读 4

Snappy已支持最新的Nvidia专有图形驱动程序

导读 Canonical发布了Snapd的新维护版本,Snapd是其Snappy技术的主要组件,使基于Linux的操作系统能够支持通用的Snap应用程序,上周末,为最新的专有Nvidia驱动提供支持。 Snapd 2.32.2现在可供下载,并且应该即将推出到您最喜爱的,支持Snappy的GNU/Linux发行版的稳定软件库。这个版本令人兴奋的是,它使Snappy能够在Ubuntu 18.04 LTS(Bionic Beaver)和类似操作系统上的Snap应用程序中使用Nvidia最新的专有图形驱动程序。 除此之外,Snappy现在可以使用最新的YAML解析器,允许开发人员授予对可写内容插槽的写访问权限,并在设置时间表时立即重新计算下一次刷新时间。在Snapd 2.32.2中将Fedora 27测试切换为手动,不再排除/dev/ttymxcX串行端口,并且只有在使用定制的Snappy存储时才发送身份验证数据。 Snappy变得越来越受欢迎 Snapd 2.32中的最新更改可以正确创建包含Nvidia IDC文件的Vulkan目录,并且可以在早期启动时处理SIGTERM和SIGINT。此外,Snappy不再将AppArmor与无用的临时文件混淆,并在核心设备上提供更强大的集成测试套件。 snap在GNU/Linux发行版中变得越来越流行,因为它们安装更快,使用更安全,并且更易于创建和更新。您已经可以在Arch Linux,Fedora,...
linuxprobe16 发布于 2天前 阅读 5

Centos6.9系统部分基础优化(更新时间2018/04/19)

系统信息: [root@nfs01 ~]# uname -r 2.6.32-696.el6.x86_64 [root@nfs01 ~]# uname -m x86_64 [root@nfs01 ~]# cat /etc/redhat-release  CentOS release 6.9 (Final)  更改yum源 mv /etc/yum.repos.d/CentOS-Base.repo{,.$(date +%F_%T).backup}  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum makecache 关闭SELinux  \cp /etc/selinux/config{,.$(date +%F_%T).backup} sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config grep 'SELINUX=disable' /etc/selinux/config setenforce 0 getenforce 关闭iptables  /etc/init.d/iptables stop /etc/init.d/iptables stop chkconfig iptables off 精简开机自启动服务  export LANG=en chkconfig --list | egrep "3:on"|egrep -v "crond|network|sshd|rsyslog|sysstat" | awk '{print "chkconfig",$1,"off"}' | bash chkconfig --list | grep 3:on 提权abc可以sudo  useradd abc \cp /etc/sudoers{,.$(date +%F_%T).backup} echo "abc ALL=(ALL) NOPASSWD:ALL" >>...
Linux_yk 发布于 2个月前 阅读 37

Win10 跳跃预览版推出更高级功能

微软近日推送了Windows 10 Build 17643跳跃预览版,在该版本当中,Linux / WSL子系统的文本复制、粘贴功能在Linux/WSL子系统当中可用。要试用此功能,在控制台的“选项”属性页面中启用“使用Ctrl + Shift + C / V作为复制/粘贴”选项(查看下面的图像以供参考)。微软还提到,可以为每个Shell或快捷方式独立设置此项。 微软表示,如果将快捷方式固定到用户自定义的shell(例如Cmd / PowerShell / Linux)到任务栏,并通过这些快捷方式启动的主机,你的设置将只能受影响的快捷键生效。 如果通过“开始”菜单或“运行”启动相同的shell,则不应用个人设置。 原文来自:https://www.ithome.com/html/win10/355308.htm
linuxprobe16 发布于 1天前 阅读 3

websocketd 实现浏览器查看服务器实时日志

- 操作系统: CentOS7 - 下载 websocketd [websocketd-0.3.0-linux_amd64.zip](https://github.com/joewalnes/websocketd/releases/download/v0.3.0/websocketd-0.3.0-linux_amd64.zip) - 安装 nc 命令 ```bash yum install nmap-ncat ``` - 创建监听脚本 ```bash cat > cmd.sh <<-END #!/bin/bash pkill -x nc while :; do nc -nkl 10088 sleep 1 done ``` - 创建 log.html ```html [13/1477] 实时日志清空 ``` - 文件部署位置 ``` websocketd/ ├── [-rwxr-xr-x] cmd.sh ├── [drwxr-xr-x] websocket │   └── [-rw-r--r--] log.html └── [-rwxr-xr-x] websocketd ``` - 启动 websocketd ```bash cd websocketd ./websocketd --port=8008 --staticdir=. ./cmd.sh ``` - 在浏览器中打开日志浏览页面: http://{websocket-server}:8008/websocket/log.html - 在其他应用服务器,传输实时日志 ```bash tail -f /tomcat/logs/catalina.out | nc -n {websocket-server} 10088 ``` - 关闭实时日志 - 在目标服务器中 kill nc ```bash pkill -x nc ``` - 在 websocket server 中 kill nc ```bash pkill -x nc ``` - 直接刷新浏览器的日志浏览页面...
Colben 发布于 2个月前 阅读 46

Linux screen 命令

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] 参数说明 -A  将所有的视窗都调整为目前终端机的大小。 -d <作业名称>  将指定的screen作业离线。 -h <行数>  指定视窗的缓冲区行数。 -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。 -r <作业名称>  恢复离线的screen作业。 -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 -s  指定建立新视窗时,所要执行的shell。 -S <作业名称>  指定screen作业的名称。 -v  显示版本信息。 -x  恢复之前离线的screen作业。 -ls或--list  显示目前所有的screen作业。 -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。  常用参数 screen -S yourname -> 新建一个叫yourname的session screen -ls(或者screen -list) -> 列出当前所有的session screen -r yourname -> 回到yourname这个session screen -d yourname -> 远程detach某个session screen -d -r yourname -> 结束当前session并回到yourname这个session 快捷键 Ctrl+a c     new window      Ctrl+a n     next window     I bind F12 to thi...
和尚丶 发布于 2小时前 阅读 3

Purism发布Librem 5 Linux手机文档

提供高质量安全性,隐私性和以自由为中心的计算机和软件的公司Purism正在发布其即将推出的Librem 5 Linux手机平台的初始准备文档。 正如你可能知道的那样,Purism正在努力为你带来第一部以隐私为中心的Linux智能手机Librem 5,他们正在尽其所能确保为那些希望在Librem 5手机平台的开发人员提供文档。 今年夏天,Purism将开始分发即将推出的Librem 5手机的开发板,让早期的采用者和开发人员更好地了解他们的工作原理,并准备为智能手机打造引人注目和创新的应用程序,预计明年初上市。 为此,需要全面的文档来帮助开发人员使用Librem 5手机和开发套件来实现他们的目标。目前,该文档将帮助开发人员学习如何设置基于wlroots的手机壳进行开发,设置Plasma Mobile,以及构建,部署和发布应用程序。 “这个文档的目标是欢迎你加入,并通过例子和外部文档的链接为你提供路径,这些例子将帮助你从开发板的开箱开始到构建和部署flatpak应用程序开始 - 并最终包括将你的软件包加入到PureOS中,“Purism的文档负责人Heather Ellsworth说。 除了可以帮助您设置Librem 5开发环境来构建PureOS应用程序,这是基于Debian的操作系统,它将为Purism即将推出的Linux智能手机提供支持,该文档...
linuxprobe16 发布于 8小时前 阅读 3

Maven项目一键部署

### 免登陆 ``` # 生成秘钥 tianshl:.ssh tianshl$ ssh-keygen -t rsa -P '' # 将公钥添加至服务器的authorized_keys中 tianshl:.ssh tianshl$ ssh-copy-id -i ./id_rsa.pub root@192.168.1.54 ``` ### 创建脚本 ``` # 项目根目录下创建脚本,名为:update.sh, 内容如下 #!/usr/bin/env bash # 更新 git pull # 打包 mvn clean package -Dmaven.test.skip=true # 上传 scp target/etl-0.0.1-SNAPSHOT.war root@192.168.1.54:/root/ # 删除原日志 | 终止服务 | 启动服务 | 查看启动日志 ssh root@192.168.1.54 "rm etl.log; ps -ef | grep etl | awk '{print $2}' | xargs kill -9; nohup ./etl-0.0.1-SNAPSHOT.war > etl.log 2>&1 &; tail -f etl.log" ``` ### 配置IDE ``` Run / Edit Configurations... / "+" / Bash 1. Name 填写 2. Script 选择 update.sh 3. Working directory 选择 项目根目录 ```...
tianshl 发布于 1个月前 阅读 16317

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

Postman自动登录,请求带token

![这里写图片描述](http://img.blog.csdn.net/20180323182705200?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2J1ZGluZzAwNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) ![这里写图片描述](http://img.blog.csdn.net/20180323182719115?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2J1ZGluZzAwNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) #### 添加一个环境 ``` Manage Environments(右上角的齿轮) => Add => 填写环境的名称 => Add ``` #### 添加登录接口 ``` # 比正常的请求多设置一下 "Tests" # 将登录接口返回的response中的token加入环境变量, 如: pm.environment.set("token", JSON.parse(responseBody).data.authorization); ``` #### 添加一个集合 ``` 1. New collection (左侧 目录) 2. 填写名称,如:"需要token的请求" 3. 切换到选项卡"Authorization" 4. 选择相应的 TYPE 5. Token 中填写 {{token}} 6. 点击Create 创建集合 ``` #### 添加需要token的请求 ``` 在刚创建的集合中添加的请求, Headers中都会自动添加 token, 如果token失效, 重新请求一下登录接口即可...
tianshl 发布于 1个月前 阅读 15025

Packet for query is too large

### 前言 ##### max_allowed_packet ``` mysql根据max_allowed_packet限制server接收数据包的大小, 数据量超过这个限制时会导致写入或更新失败. ``` ##### 查看当前限制 ``` show VARIABLES like '%max_allowed_packet%'; ``` ### 修改 ``` 以下提供两种修改方式 ``` ##### 1. 修改配置文件 ``` # 查看配置文件路径 mysql --help | grep my.cnf # 修改 vim /etc/my.cnf 在[mysqld]段增加或修改以下内容: max_allowed_packet = 5M # 重启mysql service mysql restart ``` ##### 2. 命令行修改 ``` # 登录mysql mysql -u root -p # 运行指令 set global max_allowed_packet = 5*1024*1024 # 如果上条命令无效: # set @@max_allowed_packet=5*1024*1024 # 重启mysql service mysql restart # ubuntu service mysqld restart # centos ```...
tianshl 发布于 2周前 阅读 4771

SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。
郑龙飞 发布于 5天前 阅读 972 评论 6 点赞 1

Manjaro安装与基本配置

0. 安装 # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装bumblebee driver boot(non-free) 如果是WIndows+Manjaro双系统安装, 步骤可以参考:https://my.oschina.net/langxSpirit/blog/1633384 1.系统信息 #查看系统信息 inxi -Fx   2.网络设置 #查看网络状态 ping 8.8.8.8 ------------ connect: Network is unreachable ------------ #如果网卡驱动是正常,请尝试手动设置IP地址、网关、DNS信息 3.笔记本双显卡设置 #查看显卡NVIDIA状态 lspci| grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GTX 660M] (rev ff) Nvidia 卡信息的末尾是 rev ff,表示独显已经关闭。现在运行的是intel核显,这正是我们安装bumblebee目的。 bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware。 https://wiki.archlinux.org/index.php/Bumblebee https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 要使用 Bumblebee,请确保添加你的用户到 bumblebee 组: $  ...
斯武丶风晴 发布于 1个月前 阅读 512

CentOS 7 安装 nginx

CentOS 7 安装 nginx
欧虞山 发布于 3周前 阅读 387

shell特殊符号cut命令sort_wc_uniq命令 tee_tr_split命令 shell特殊符号下

cut sort wc uniq tee tr split命令 • cut 分割,-d 分隔符  -f 指定段号   -c 指定第几个字符 cut -d ":" -f 1 /etc/passwd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 2,4 /etc/paaswd 截取/etc/passwd文件中以:分割的第一段 cut -d ":" -f 1-3 /etc/passwd 截取/etc/passwd文件中以:分割的1到3段 head -n 3 /etc/passwd |cut -d":" -f 1 /etc/passwd 的前三行截图第一段 cut -c 6 /etc/passwd 提取每行的第六个字符 cut -c 1-8 /etc/passwd 提取每行的前八个字符 • sort 排序, -n 以数字排序 -r 反序  -u 去重复 -t 分隔符 -kn1/-kn1,n2 sort /etc/passwd sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较, 最后将它们按升序输出。 head -n 5 /etc/passwd |sort -t: -k3 -n root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin -t后面跟分割符,-k后面跟数字,表示第几个区域的字符串排序,-n则表示使用纯数字排序。 head -n5 /etc/passwd | sort -t: -k3,5 -r lp:x:4:7:lp:/var/spool/lpd:/s...
laoba 发布于 2天前 阅读 82

ubuntu 16.04 三分钟搭建 L2TP VPN Server

1.安装openswan sudo apt-get install openswan 如果出现报错 Package ‘openswan‘ has no installation candidate 请执行以下命令,如果顺利安装请直接看第二步 sudo vi /etc/apt/sources.list.d/lzu.list #创建一个源 粘贴如下代码到lzu.list文件 deb http://mirror.lzu.edu.cn/ubuntu/ precise main restricted universe multiverse deb http://mirror.lzu.edu.cn/ubuntu/ precise-security main restricted universe multiverse deb http://mirror.lzu.edu.cn/ubuntu/ precise-updates main restricted universe multiverse deb http://mirror.lzu.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse deb http://mirror.lzu.edu.cn/ubuntu/ precise-backports main restricted universe multiverse deb-src http://mirror.lzu.edu.cn/ubuntu/ precise main restricted universe multiverse deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-security main restricted universe multiverse deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-updates main restricted universe multiverse deb-src http://mirror.lzu.edu.cn/ubuntu/ precise-pr...
野馬君 发布于 2个月前 阅读 458

win7 + manjaro linux 双系统安装

这里统一采用efi引导,因此windows系统必须win7 64 或更新系统。 1、在别的电脑选择一个PE系统写入U盘,比如大白菜,真的大白菜。 2、PE系统中,将磁盘置为GPT格式(GUID) 3、PE系统,使用镜像加载工具加载win7 64 iso,点击setup.exe开始安装windows 7 系统。 选择磁盘构建,会自动生成efi分区,esp分区。(这是uefi引导的关键) 选择一个主分区进行安装。 4、下载Manjaro linux的iso。 5、安装win7完成后,使用工具Win32 Disk Imager,把Manjaro linux的iso写入U盘。 6、重启,BIOS选择U盘启动,安装manjaro。为避免各种驱动问题,驱动选择第二项boot(non-free)。 其中注意挂载并勾选/boot/efi,但保留分区(千万别格式化啊) 其他的选择挂载/ 7、安装完,美滋滋,可以选择Manjaro 或 win7系统了。 其他安装配置参考: https://my.oschina.net/langxSpirit/blog/1647000 by 斯武丶风晴  https://my.oschina.net/langxSpirit...
斯武丶风晴 发布于 2个月前 阅读 353

服务器被黑之后......

服务器被黑了,查到部分资料,用于备忘与自用
Tom-Lin 发布于 2周前 阅读 60 评论 2

使用Holer远程桌面登录家里电脑和公司内网电脑

1. Holer工具简介 Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Support forwarding message based on TCP protocol.   Holer是一个免费开源的内网穿透工具,它可以将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP协议的报文。 Holer地址:https://github.com/Wisdom-Projects/holer 2. 远程桌面准备 将家里电脑和公司内网电脑开启远程桌面,右键【我的电脑】--->选择【属性】--->进入【系统属性窗口】--->选择【远程】菜单栏 关于远程桌面的详细设置可以百度或者Google,相关资料很多,设置也比较容易,这里不做详细介绍了。 家里电脑 ---远程登录--->公司内网电脑,需要在公司电脑上开启远程桌面连接; 公司内网电脑 ---远程登录--->家里电脑,需要在家里电脑上开启远程桌面连接; 3. Holer工具完成远程桌面登录设置 这里以家里电脑 ---远程登录--->公司内网电脑为例 3.1 Holer配置 在公司电脑上下载Holer工具 Holer软件包地址:https://github.com/Wisdom-Projects/holer/tree/master/Binary 解压软件包 holer-client.zip 修改配置文件 holer-client/conf/holer.conf,只需要设置HOLER_ACCESS_KEY即...
domwang 发布于 3天前 阅读 38

kubernetes+dashboard+heapster

# 效果图 ![效果图](https://static.oschina.net/uploads/img/201801/31112748_v6Ta.png "效果") 安装```kubernetes```集群请参考 https://my.oschina.net/binges/blog/1615955 # 所需软件 链接:https://pan.baidu.com/s/1dzQyiq 密码:dyvi # 安装前准备 所需要文件 heapster-amd64.tar heapster-grafana-amd64.tar heapster-influxdb-amd64.tar dashboard-1.8.2.tar dashboard.yaml grafana.yaml heapster-rbac.yaml heapster.yaml influxdb.yaml admin-user.yaml #### 导入镜像(在所有node节点操作) ``` docker load < heapster-amd64.tar docker load < heapster-grafana-amd64.tar docker load < heapster-influxdb-amd64.tar docker load < dashboard-1.8.2.tar [root@node27 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE gcr.io/google_containers/kube-proxy-amd64 v1.9.2 e6754bb0a529 12 days ago 109.1 MB k8s.gcr.io/kubernetes-dashboard-amd64 v1.8.2 c87ea0497294 2 weeks ago 102.3 MB quay.io/coreos/flannel v0.9.1-amd64 2b736d06ca4c 10 weeks ago 51.31 MB gcr.io/google_containers/heapster-influxdb-amd64 v1.3.3 577260d221db 4 ...
binges 发布于 3个月前 阅读 503 评论 7 点赞 2

使用Certbot申请letsencrypt的泛域名证书

是的,支持所有子域名的HTTPS证书,全民HTTPS已经来了,你心动不心动? 比如:123.qbbkj.com www.qbbkj.com,但是123.234.qbbkj.com是不支持的 不过,官方还是建议部署单个域名证书。 官网地址 https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579 单个域名证书的申请以及本篇文章最好看一下我的另一篇博文使用certbot自动签发SSL证书 我们先赶紧体验一下 1.dns解析一个泛域名 2.使用certbot申请泛域名 ./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d *.qbbkj.com -d qbbkj.com --manual --preferred-challenges dns-01 certonly 我的certbot的版本是0.22(0.20-->0.22) 好像是不能弄成跟单个域名自动申请的样子,一个是DNS PLUGINS并不支持阿里云API,一个是我们用的是certbot工具(可官网是推荐使用这个的啊) 3.手动过程 填入邮箱地址,同意服务(A),不参与(N),记录IP(Y),添加TXT记录,成功! 注意添加TXT记录的时候,最好先看一下你的TXT记录是否生效再按下一步 dig  -t txt _acme-challenge.qbbkj.com @8.8.8.8 4.配置nginx的SSL部分配置,然后随便输入https://123.qbbkj.com进行验证。 ...
gaolongquan 发布于 1个月前 阅读 415

ansible不配ssh连接,用户密码登录

ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass。 sshpass下载地址:http://sourceforge.net/projects/sshpass/ 运行下列命令安装: ``` tar -zxvf sshpass-1.05.tar.gz cd sshpass-1.05 ./configure make && make install ``` 安装完成后输入sshpass出现如下提示即安装成功: ``` # sshpass Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters -f filename Take password to use from file -d number Use number as file descriptor for getting password -p password Provide password as argument (security unwise) -e Password is passed as env-var "SSHPASS" With no parameters - password will be taken from stdin -h Show help (this screen) -V Print version information At most one of -f, -d, -p or -e should be used ``` /etc/ansible/hosts文件中添加用户密码,认证ssh连接 ``` [test] 127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456 192.168.1.103 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456 ``` 错误汇总: ``` [root@localhost ~]# ansible test -m ping 127.0.0.1 |...
庆沉 发布于 2个月前 阅读 182

centos7:docker使用阿里云镜像加速器的方法

> docker hub下载速度很慢,而可以使用阿里云docker加速器,来提高速度,管理你的镜像和拉取别人的镜像 1. 首先你得有一个阿里的账号 2. 然后进入到[镜像加速页面](https://cr.console.aliyun.com/#/accelerator),并会看到阿里云给出的一个加速器地址 ![输入图片说明](https://static.oschina.net/uploads/img/201803/15150919_lX0Z.png "镜像加速页面") 3. 然后选择对应的系统并根据自己的docker版本来执行相应的步骤 - 查看docker版本:docker --version ``` [root@106 ~]# docker --version Docker version 17.12.1-ce, build 7390fc6 [root@106 ~]# ``` - docker不同的版本: - docker客户端版本大于 1.10 的用户 - 可以通过袖肥daemon配置文件 /etc/docker/daemon.json来使用加速器 ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` - Docker客户的版本小于等于1.10的用户 - 或者想配置启动参数,可以使用下面的命令将配置添加到docker daemon的启动参数中。 - 系统要求 CentOS 7 以上,Docker 1....
运维小白 发布于 1个月前 阅读 138

Smokeping快速安装指南

偶尔会用到Smokeping,隔久了全忘。 记录一下安装配置的核心步骤,以作备忘。
胡凯 发布于 2天前 阅读 77

离线使用 kubeadm 创建 kubernetes 1.9.2 集群

# 简介 kubeadm是一个kubernetes官方提供的快速安装和初始化拥有最佳实践的kubernetes集群的工具,但是目前不建议生产使用。 # 系统版本 - OS:CentOS Linux release 7.3.1611 (Core) - Docker :1.12.6 # 所需软件 链接:https://pan.baidu.com/s/1dzQyiq 密码:dyvi # 初始化环境(所有节点上面执行) #### 关闭selinux ``` sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config setenforce 0 ``` #### 关闭sawp分区 ``` swapoff -a vi /etc/fstab 注释掉swap分区 #/dev/mapper/cl-swap swap swap defaults 0 0 ``` #### 关闭系统防火墙 ``` systemctl disable iptables-services firewalld systemctl stop iptables-services firewalld ``` #### 安装第epel yum源 ``` yum install epel-release ``` #### 安装docker 注意,kubead目前支持docker版本为docker-ce 17.4,这里使用yum自带的dcoekr版本 ``` yum install -y docker systemctl enable docker && sudo systemctl start docker ``` #### 相关参数设置 ``` cat < /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --sy...
binges 发布于 3个月前 阅读 1431 评论 29 点赞 3

如何在 Windows 10 上开启 Linux子系统

WSL 可以让你访问 Windows 上的 Linux Bash shell,在 上一篇文章 中,我们讨论过关于 Windows 的子系统 LinuxWindows Subsystem for Linux(WSL)的目标用户,本文,我们将在 Windows 10 的设备上,开启 WSL 的旅程。 为 WSL 做准备 您必须使用最新版本的 Windows 10 Fall Creator Update。之后,通过在开始菜单栏搜索 “About”,检查 Windows 10 的版本。为了使用 WSL,您的版本应当为 1709 或者最新版。 这里有一张关于我的操作系统的截图。 如果您安装了之前的版本,您需要在 这里 下载并且安装 Windows 10 Fall Creator Update (FCU)。安装完毕后,安装可用的更新(在开始菜单的搜索框中搜索 “updates”)。 前往 “启用或关闭 Windows 功能” ,然后滚动至底部,如截图所示,勾选 “适用于 Linux 的 Windows 子系统”,点击确定。它将会下载安装需要的包。 安装完成之后,系统将会询问是否重启。是的,重启设备吧。WSL 在系统重启之前不会启动,如下所示: 一旦您的系统重启,返回 “启用或关闭 Windows 功能” 页面,确认 “适用于 Linux 的 Windows 子系统” 已经被勾选。 在 Windows 中安装 Linux 在 Windows 中安装 Linux,有很多方式,这里我们选择一种...
问题终结者 发布于 4天前 阅读 26

redis主从复制常见的一些坑

读写分离的问题 1.数据复制的延迟 读写分离时,master会异步的将数据复制到slave,如果这是slave发生阻塞,则会延迟master数据的写命令,造成数据不一致的情况 解决方法:可以对slave的偏移量值进行监控,如果发现某台slave的偏移量有问题,则将数据读取操作切换到master,但本身这个监控开销比较高,所以关于这个问题,大部分的情况是可以直接使用而不去考虑的。 2.读到过期的数据 我们知道redis在删除过期key的时候,是有两种策略,第一种是懒惰型策略,即只有当redis操作这个key的时候,发现这个key过期,就会把这个key删除。第二种是定期采样一些key进行删除。 针对上面说的两种过期策略,会有个问题,即如果我们过期key的数量非常多,而采样速度根本比不上过期key的生成速度时会造成很多过期数据没有删除,但在redis里master和slave达成一种协议,slave是不能处理数据的(即不能删除数据)而我们的客户端没有及时读到到过期数据同步给master将key删除,就会导致slave读到过期的数据(这个问题已经在redis3.2版本中解决) 主从配置不一致 这个问题一般很少见,但如果有,就会发生很多诡异的问题 例如: 1. maxmemory配置不一致:这个会导致数据的丢失 原因:例如maste...
吴正宇 发布于 3周前 阅读 113

LC3环境下的汇编语言程序调试攻略

汇编语言虽然编写复杂,但由于其编译的程序效率极高(往往是C语言的两倍),因此仍在程序优化方面有用武之地。本文简单介绍了一款名位LC3的汇编语言编写调试环境,希望能对汇编爱好者学习汇编有所帮助。
SamYjy 发布于 3个月前 阅读 122 评论 2 打赏 1

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

介绍一个小技巧,如何实现ssh免密登录

![](https://upload-images.jianshu.io/upload_images/3778244-b04fc40ae7b5cc57.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ### 概述 首先,说实在的,这个已经被很多人说过了,但是,我是第一次用,没错,我就是这么out ### 操作 首先生成一个rsa秘钥 `ssh-keygen -t rsa` 之后把这个秘钥拷贝到远程主机上,用下面这个命令就够了 `ssh-copy-id root@vultr.bboysoul.com` ~~~bash ➜ ~ ssh-copy-id root@vultr.bboysoul.com /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@vultr.bboysoul.com's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@vultr.bboysoul.com'" and check to make sure that only the key(s) you wanted were added. ~~~ 之后你就可以免密登录了 欢迎关注Bboysoul的博客[www.bboysoul.com](http://www.bboysoul.com/) Have Fun...
bboysoulcn 发布于 29分钟前 阅读 1

AIX批量创建用户脚本

#!/bin/ksh ####批量创建用户#### SuperDir=/dbbackup/ftpuser/ ##用户上级目录定义 PGRP=test ##属组定义 set -A username test1 test2 test3 test4 test5 test6  ##添加用户列表  for userinfo in ${username[@]} do     echo "create user ${userinfo}"     mkdir -p ${SuperDir}${userinfo}     ln -s ${SuperDir}${userinfo} /${userinfo}     OLDUID=$(cat /etc/passwd | grep -v '4294967294'| cut -d ':' -f3 | sort -rn | awk 'Begin {max=0} {if($0>max)max=$0 fi}END{print max}')     currentUID=$((OLDUID+1))     echo $(cat /etc/group | grep -v '4294967294'| cut -d ':' -f3 | sort -rn | awk 'Begin {max=0} {if($0>max)max=$0 fi}END{print max}')     mkuser id=${currentUID} pgrp=${PGRP} groups=${PGRP} home=/${userinfo} ${userinfo}     chown ${userinfo}:${PGRP} ${SuperDir}${userinfo} done  ------------------------------------------------------------------------------------------------------------ 以下命令单独执行: 查看最大UID echo $(cat /etc/passwd | grep -v '4294967294'| cut -d ':' -f3 | s...
晒太阳的小猪 发布于 54分钟前 阅读 14

企业如何选择合适的WAF

市场上的web应用防火墙产品很多,WAF产品到底具备哪些功能才能满足国内客户对Web服务器防护的需求?客户会陷入功能、性能、易用性的选择性困惑中。无论是国内还是国外的WAF产品,除了HTTP协议最基本的性能要求之外,还要考虑合适的架构和尺寸。先要评估一下目前网络上的Web应用是如何构建的:该应用是不是已经在反向代理系统的后面?如果是这样,企业又想继续使用反向代理架构,可以考虑支持这种需要的WAF。如果企业版的要求WAF终结SSL连接,以检查数据包内容,那么反向代理系统是个理想的选择。 另外,还要看一下WAF的功能诉求。有下面几点:1、企业版的WAF产品必须要具备针对跨站请求伪造(CSRF)攻击的防护功能。2、应该具备对Web攻击的防护功能,这类攻击主要包含了SQL注入攻击和XSS跨站攻击。3、WAF产品应该具备Web恶意代码的防护功能。4、具备Web应用合规功能。应用合规是指客户端或者Web服务器所做的各类行为符合用户设置的规定要求。
上树的熊 发布于 1小时前 阅读 1

通过Let's Encrypt申请免费https证书

Let's Encrypt,https,centos
阿笨哥 发布于 2小时前 阅读 4

ubuntu 的包管理也算是奇葩了

通常能记得大概就是如何安装一个软件包,例如安装 Docker, 包名是 "docker-ce"。 安装: ``` apt-get install docker-ce ``` 安装指定版本: ``` apt-get install docker-ce=18.03.0~ce-0~ubuntu ``` 查询一下有哪些可用版本: ``` apt-cache madison docker-ce ``` 查询一下我究竟有没有装过? ``` dpkg -l|grep docker ``` (待续)
伪猫 发布于 2小时前 阅读 4

Linux screen 命令

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] 参数说明 -A  将所有的视窗都调整为目前终端机的大小。 -d <作业名称>  将指定的screen作业离线。 -h <行数>  指定视窗的缓冲区行数。 -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。 -r <作业名称>  恢复离线的screen作业。 -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 -s  指定建立新视窗时,所要执行的shell。 -S <作业名称>  指定screen作业的名称。 -v  显示版本信息。 -x  恢复之前离线的screen作业。 -ls或--list  显示目前所有的screen作业。 -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。  常用参数 screen -S yourname -> 新建一个叫yourname的session screen -ls(或者screen -list) -> 列出当前所有的session screen -r yourname -> 回到yourname这个session screen -d yourname -> 远程detach某个session screen -d -r yourname -> 结束当前session并回到yourname这个session 快捷键 Ctrl+a c     new window      Ctrl+a n     next window     I bind F12 to thi...
和尚丶 发布于 2小时前 阅读 3

Linux下查看进程和线程

在Linux中查看线程数的三种方法 1、top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。 2、ps xH 手册中说:H Show threads as if they were processes 这样可以查看所有存在的线程。 3、ps -mp <PID> 手册中说:m Show threads after processes 这样可以查看一个进程起的线程数。 查看进程 1. top 命令 top命令查看系统的资源状况   load average表示在过去的一段时间内有多少个进程企图独占CPU   zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。   cpu states:   nice:让出百分比irq:中断处理占用   idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))   Mem:内存情况   设计思想:把资...
和尚丶 发布于 2小时前 阅读 1

Linux chkconfig命令

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 一、chkconfig 的使用语法 1、chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <levels等级代号>][系统服务][on/off/reset] 2、参数用法:    --add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。    --del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。    --level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕。       等级0表示:表示关机       等级1表示:单用户模式       等级2表示:无网络连接的多用户命令行模式       等级3表示:有网络连接的多用户命令行模式       等级4表示:系统保留       等级5表示:带图形界面的多用户模式       等级6表示:重新启动  3、需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,...
和尚丶 发布于 2小时前 阅读 1

ceph mds的客户端告警记录

``` mds0: Client dev:jenkins failing to respond to cache pressure ``` 解决操作 ``` ceph daemon mds.0 session ls ``` 查看状态是"state": "stale",的客户端连接 然后进行驱逐 ``` ceph daemon mds.d139 session evict $ID ```
xueyi28 发布于 3小时前 阅读 4

使用 Docker Machine 添加机器记录

# 环境配置 一台MBPR+三台虚拟机 配置:4CPU 8G 80G - 192.168.1.76 master - 192.168.1.85 salve1 - 192.168.1.127 salve2 ## DockerMachine 安装 1. 使用`ssh-copy-id`配置免密登录 1. `docker-machine create --driver generic --generic-ip-address=192.168.1.76 master` ``` 安装过程中卡住 Running pre-create checks... Creating machine... (master) No SSH key specified. Assuming an existing key at the default location. Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with centos... ``` 1. 使用`-D`命令打印安装日志`docker-machine -D create --driver generic --generic-ip-address=192.168.1.76 master`发现在`curl -fsSL https://get.docker.com`时停住直到超时 ``` 不开vpn发现docker.com下访问都很慢,搜了一些贴如http://get.daocloud.io/#install-docker 中推荐使 用`curl -sSL https://get.daocloud.io/docker | sh`来进行安装,看了下脚本DOWNLOAD URL使用https://mirrors.aliyun.com/do...
铂金蛋蛋 发布于 5小时前 阅读 5

linux ssh、sftp、scp命令远程传输文件

以下实验数据都是手工亲测,非拷贝而来,所以真实可靠,也是我在工作当中经常用到的一些命令,分享出来,大家一块学习。系统操作环境Centos7.3 64 *2,两台机器都在公网IP地址分别是 A:223.5.5.5 B:223.6.6.6 sftp是一个交互式文件传输程式 它类似于ftp传输协议,属于ssh, 但它进行加密传输,相对FTP来讲有更高的安全性。 sftp用法 如果有服务器的端口不是默认的22,请在sftp后面加-P 端口号 即可。 # sftp root@223.6.6.6 The authenticity of host ‘223.6.6.6 (223.6.6.6)’ can’t be established. ECDSA key fingerprint is SHA256:Hl/dKTFzL4lOlF8DIG5itaV4OAsZunC2AWlFGLjLfsg. Are you sure you want to continue connecting (yes/no)? yes【输入yes回车】 Warning: Permanently added ‘223.6.6.6’ (ECDSA) to the list of known hosts. root@223.6.6.6’s password:【输入223.6.6.6的root密码并回车】 Connected to 223.6.6.6. sftp> 将223.6.6.6服务器文件下载到223.5.5.5的home目录; sftp> get /var/www/renwole.txt /home/ 将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录; sftp> put /home/renwole.txt /mnt/ 你如果不知道远程主机的目录是什么样,...
六库科技 发布于 5小时前 阅读 5

awk命令详解

awk命令 awk也是流式编辑器,针对文档中的行和段进行操作 awk可以分为几个部分: 匹配字符或者字符串 截取文档中的某一段 条件操作符 数学运算 内置变量 实例1: head -n2 test.txt|awk -F ':' '{print $1}' head -n2 test.txt|awk -F ':' '{print $0}' awk -F ':' '{print $1"#"$2"#"$3"#"$4}' awk '/oo/' test.txt awk -F ':' '$1 ~/oo/' test.txt awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt awk -F ':' '$3=="0"' /etc/passwd awk -F ':' '$3>="500"' /etc/passwd awk -F ':' '$3>=500' /etc/passwd awk -F ':' '$7!="/sbin/nologin"' /etc/passwd 匹配字符或者字符串 匹配root的行 [root@yong-02 sed]# awk '/root/' test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin awk可以做到匹配某一段中的某个字符,以:分隔,匹配第一段中带有root的行 [root@yong-02 sed]# awk -F ":" '$1 ~/root/' test.txt root:x:0:0:root:/root:/bin/bash awk匹配字符可以使用正则 匹配/roo?/ [root@yong-02 sed]# awk '/roo?/' test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin c...
lyy549745 发布于 5小时前 阅读 4

T-Pot多蜜罐平台:让蜜罐实现更简单

  这两年蜜罐技术被关注的越来越多,也渐形成低交互、中交互、高交互等交互程度的各类蜜罐,从web业务蜜罐、ssh应用蜜罐、网络协议栈蜜罐到系统主机型蜜罐的各功能型蜜罐。小到一个word文档的蜜标,到一个系统级的服务蜜罐,再到多功能蜜罐组成的蜜网,大到包含流控制重定向分布式蜜网组成的蜜场。 随着虚拟化技术的发展,各种虚拟蜜罐也得到发展,可以通过虚拟机来实现高交互蜜罐,以及通过docker实现的业务型蜜罐,不再像是以前需要昂贵硬件设备的部署支撑,这也大大减少了蜜罐的部署成本,一台主机就可以实现整个集数据控制,数据捕获和数据分析于一体多功能多蜜罐高交互蜜网的体系架构。也已经产生了一些不错的开源蜜罐产品或项目,比如MHN(现代蜜网)、HoneypotProject。 MHN现代蜜网简化了蜜罐的部署,集成了多种蜜罐的安装脚本,可以快速部署、使用,也能够快速的从节点收集数据。国外也有很多公司做基于蜜罐的欺骗技术产品创新。 蜜罐高保真高质量的数据集把安全人员从以前海量日志分析的繁琐过程中解脱出来,对于蜜罐的连接访问都是攻击信息,并且不再像以前的特征分析具有一定的滞后性,可以用于捕获新型的攻击和方法。前段时间作者就通过高交互蜜罐捕获了ssh自...
刀剑如梦 发布于 6小时前 阅读 4

Ubuntu 64位安装Teamviewer

### **1.下载Teamviewer** 进入 https://www.teamviewer.com/en/download/linux.aspx 下载 teamviewer_linux_x64.deb ### **2.安装GDebi** 安装GDebi ,解决依赖问题 Install gdebi (GDebi can install local .deb packages with automatic dependency resolution (it automatically downloads and installs the required packages).): ``` sudo apt-get install gdebi ``` ### **3.安装Teamviewer** ``` sudo gdebi teamviewer_linux_x64.deb ```
Roam_Co 发布于 6小时前 阅读 1

awk

• head -n2 test.txt|awk -F ':' '{print $1}' 打印test.txt前两行的第一段; 说明:-F后面跟分割符;$1表示第一段;{}花括号括起来print的范围;   • head -n2 test.txt|awk -F ':' '{print $0}' 说明:$0 打印所有段;   • awk -F ':' '{print $1"#"$2"#"$3"#"$4}' 以:为分割符打印出第一段,第二段,第三段,第四段,显示的以#作为分割符 说明:   • awk '/oo/' test.txt 匹配字符或字符串;匹配包含oo的行;   • awk -F ':' '$1 ~/oo/' test.txt 针对某个段匹配;匹配第一段包含oo的行;   • awk -F ':' '/root/ {print $1,$3} /test/ {print $1,$3}' test.txt awk -F ':' '/root/ {print $1,$3} ; /test/ {print $1,$3}' test.txt 多次匹配;包含root的打印第一段和第三段,包含test的打印第一段和第三段;   条件操作符: == 等于 > 大于 < 小于 != 不等于 >= 大于等于 <= 小于等于 说明:当比较数字时,不能加引号,加引号后就不是按数字大小来比了,而是按ASCII码比对。   • awk -F ':' '$3==0' /etc/passwd # root:x:0:0:root:/root:/bin/bash 第三段为 0的行   • awk -F ':' '$3>=500' /etc/passwd #polkitd:x:999:998:User for polkitd:/:/sbin...
laoba 发布于 6小时前 阅读 4

通过案例分析MySQL中令人头疼的Aborted告警

通过案例分析MySQL中令人头疼的Aborted告警 转载  2017-06-29   作者:dbapower   我要评论 这篇文章通过案例跟大家分析了MySQL中令人头疼的Aborted告警的相关资料,文中将Aborted告警介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。     本文主要给大家介绍的是关于MySQL中Aborted告警的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 实战 Part1:写在最前 在MySQL的error log中,我们会经常性看到一些各类的Aborted connection错误,本文中会针对这类错误进行一个初步分析,并了解一个问题产生后的基本排查思路和方法。掌握这种方法是至关重要的,而不是出现问题了,去猜,去试。数据库出现问题的时候需要DBA在短时间内快速解决问题,因此一个好与坏的DBA,区别也在于此。 Part2:种类 ? 1 2 3 4 5 6 [Warning] Aborted connection 305628 to db: 'db' user: 'dbuser' host: 'hostname' (Got an error reading communication packets) [Warning] Aborted connection 81 to db:'unconnected' user: 'root' host: '127.0.0.1' (Got timeout reading communication packets) [Warning] Aborted connection 109 to db:'...
linjin200 发布于 6小时前 阅读 6

sed

sed是一种流编辑器,可以实现grep的大部分功能,但sed的强项在于替换;   匹配功能: • sed -n '/root/'p test.txt 说明:这里的p是print,加上-n后就可以只打印符合规则的行,如果不加则会把test.txt从头到 尾打印一遍。 [root@localhost sed]# sed -n '/root/'p test.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin   • sed -n '/r..o/'p test.txt [root@localhost sed]# sed -n '/r..o/'p test.txt r1oot:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin r1ao [root@localhost sed]# sed -n '/r\+o/'p test.txt r1oot:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin   sed中+ ? | () {} 等符号依然可以使用; sed -r sed和grep一样不识别+|(){}等符号,需要借助脱义符号\或者使用选项-r;   [root@localhost sed]# sed -nr '/r+o/'p test.txt r1oot:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:...
laoba 发布于 7小时前 阅读 1

ubuntu输入法启动命令

ibus-daemon -d -x -r
whoisliang 发布于 7小时前 阅读 1

CIO 真正需要 DevOps 团队做什么?

团队需要 IT 领导者关注三件事:沟通、技术债务和信任。 IT 领导者可以从大量的 DevOps 材料和 向 DevOps 转变 所要求的文化挑战中学习。但是,你在一个 DevOps 团队面对长期或短期的团结挑战的调整中 —— 一个 CIO 真正需要他们做的是什么呢? 在我与 DevOps 团队成员的谈话中,我听到的其中一些内容让你感到非常的意外。DevOps 专家(无论是内部团队的还是外部团队的)都希望将下列的事情放在你的 CIO 优先关注的级别。 1. 沟通 第一个也是最重要的一个,DevOps 专家需要面对面的沟通。一个经验丰富的 DevOps 团队是非常了解当前 DevOps 的趋势,以及成功和失败的经验,并且他们非常乐意去分享这些信息。表达 DevOps 的概念是很困难的,因此,要在这种新的工作关系中保持开放,定期(不用担心,不用每周)讨论有关你的 IT 的当前状态,如何评价你的沟通环境,以及你的整体的 IT 产业。 相反,你应该准备好与 DevOps 团队去共享当前的业务需求和目标。业务不再是独立于 IT 的东西:它们现在是驱动 IT 发展的重要因素,并且 IT 决定了你的业务需求和目标运行的效果如何。 注重参与而不是领导。在需要做决策的时候,你仍然是最终的决策者,但是,理解这些决策的最好方式是协...
linuxprobe16 发布于 7小时前 阅读 5

Purism发布Librem 5 Linux手机文档

提供高质量安全性,隐私性和以自由为中心的计算机和软件的公司Purism正在发布其即将推出的Librem 5 Linux手机平台的初始准备文档。 正如你可能知道的那样,Purism正在努力为你带来第一部以隐私为中心的Linux智能手机Librem 5,他们正在尽其所能确保为那些希望在Librem 5手机平台的开发人员提供文档。 今年夏天,Purism将开始分发即将推出的Librem 5手机的开发板,让早期的采用者和开发人员更好地了解他们的工作原理,并准备为智能手机打造引人注目和创新的应用程序,预计明年初上市。 为此,需要全面的文档来帮助开发人员使用Librem 5手机和开发套件来实现他们的目标。目前,该文档将帮助开发人员学习如何设置基于wlroots的手机壳进行开发,设置Plasma Mobile,以及构建,部署和发布应用程序。 “这个文档的目标是欢迎你加入,并通过例子和外部文档的链接为你提供路径,这些例子将帮助你从开发板的开箱开始到构建和部署flatpak应用程序开始 - 并最终包括将你的软件包加入到PureOS中,“Purism的文档负责人Heather Ellsworth说。 除了可以帮助您设置Librem 5开发环境来构建PureOS应用程序,这是基于Debian的操作系统,它将为Purism即将推出的Linux智能手机提供支持,该文档...
linuxprobe16 发布于 8小时前 阅读 3

Linux配置开机自启动执行脚本的两种方法

开机要启动的脚本qidong.sh [root@c69-01 scripts]# vim /server/scripts/qidong.sh [root@c69-01 scripts]# cat /server/scripts/qidong.sh #!/bin/bash /bin/echo $(/bin/date +%F_%T) >> /tmp/qidong.log 方法一:修改/etc/rc.local /etc/rc.local,该文件为链接文件 [root@c69-01 ~]# ll /etc/rc.local lrwxrwxrwx. 1 root root 13 Feb 5 10:03 /etc/rc.local -> rc.d/rc.local 修改/etc/rc.local文件 [root@c69-01 scripts]# tail -n 1 /etc/rc.local /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null 重启系统,查看结果 [root@c69-01 ~]# cat /tmp/qidong.log 2018-02-19_23:30:56 已开机自启动该脚本 方法二:chkconfig管理 删除掉方法一的配置 [root@c69-01 ~]# vim /etc/init.d/test #!/bin/bash # chkconfig: 3 88 88 /bin/bash /server/scripts/qidong.sh >/dev/null 2>/dev/null [root@c69-01 ~]# chmod +x /etc/init.d/test 添加到chkconfig,开机自启动  [root@c69-01 ~]# chkconfig --add test [root@c69-01 ~]# chkconfig --list test test 0:off 1:off 2:off 3:on 4:off 5:off 6:off 重启系统,查看结果 [root@c69-...
Linux_yk 发布于 2个月前 阅读 1945 评论 6 点赞 5

使用Heapster和Splunk监控Kubernetes运行性能

Kubernetes已经成为容器编排的事实上的王者,连Docker都已经向K8s女王大人低头。对于Kubernetes的cluster的数据收集和监控已经成为IT运维的一个重要话题。我们今天来看一看如何利用Splunk最新的Metrics Store来对Kubernetes的集群进行性能监控。 部署架构 下图是该方案的部署架构,主要包括: 利用Heapster收集K8s的性能数据,包含CPU,Memory,Network,File System等 利用Heapster的Statsd Sink,发送数据到Splunk的Metrics Store 利用Splunk的搜索命令和仪表盘功能对性能数据进行监控 前期准备 前期主要要准备好两件事: 编译最新的Heapster的镜像,并上传到某个公共的Docker镜像仓库,例如docker hub 在Splunk中配置Metrics Store和对应的网络输入(Network Input UDP/TCP) 这里主要要做的选择是Statsd的传输协议用UDP还是TCP。这里我推荐使用TCP。 最新的Heapster代码支持不同的Backend,包含了log, influxdb, stackdriver, gcp monitoring, gcp logging, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch等等。因为Splunk的Metrics Store支持statsd协议,所以可以很容易的和Heapster集成。 首先我们需要利用最新的heapster代码,编译...
naughty 发布于 3个月前 阅读 1699 评论 2 点赞 1

HTTPS连接过程以及中间人攻击劫持

一 、HTTPS连接过程及中间人攻击原理 https协议就是http+ssl协议,如下图所示为其连接过程:  1.https请求  客户端向服务端发送https请求;  2.生成公钥和私钥  服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;  3.返回公钥  服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;  4.客户端验证公钥  客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;  5.发送客户端密钥  客户端用服务端的公钥加密密钥,然后发送给服务端。  6.服务端收取密钥,对称加密内容  服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。  7.加密传输  服务端将经过加密的内容传输给客户端。  8.获取加密内容,解密  客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。 中间人劫持...
MengXS 发布于 5个月前 阅读 2999 评论 9 点赞 10

理解TCP/IP三次握手与四次挥手的正确姿势

背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到了吗?” 我:“可以了,你呢?”、 她:“喂喂,你可以听到了吗?” 我:“可以了,我可以听到了,你呢?” 她:“你可以听到了吗?” ..... 这种情况很蛋疼,那么怎样才能找一个简单的办法,让两个人都确认自己可以听到对方的声音,对方也可以听到自己的声音呢? 注:以下情节纯属虚构   方案 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。 举个日常例子,打电话时我们对话如下:   对应为客户端与服务器之间的通信: 于是有了如下对话: 我:1+1等于几? 她:2,2+2等于几? 我:4 首先两个人约定协议 1.感觉网络情况不对的时候,任何一方都可以发起询问 2.任何情况下,若发起询问后5秒还没收到...
Champin 发布于 5个月前 阅读 3282 评论 10 点赞 10

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

如何7步实现根据源码包创建rpm包

### 如何7步实现根据源码包创建rpm包 --- > 本文是"[7 Steps to Build a RPM Package from Source on CentOS / RedHat](http://www.thegeekstuff.com/2015/02/rpm-build-package-example/)"一文的简单翻译。 **version: 0.1.0 2017-11-19** 有时你可能需要获取一个开源应用的源码包,但是可能没有无法通过该应用的RPM文件来安装到系统。 在这种情况下,你既可以编译源码安装,也可以以源码包来创建一个rpm包文件,实现安装应用的功能。 同样存在一种情况即你想要创建一个你自己开发的自定义的RPM包。 这篇指南解释了如何提高源码来创建一个rpm包。 为了创建rpm包,你将需要源码包(通常为一个压缩文件,其内也包含了SPEC文件)。 SPEC文件包含以下说明:如何创建rpm包,包内包含的文件,安装的路径。 RPM将展现创建过程中的测试过程。 执行spec文件中的prep块中定义的系统命令和宏命令。 检测文件列表的内容 执行spec文件中的build块中定义的系统命令和宏命令。在这一步中文件列表中的宏命令也被执行。 创建二进制包文件 创建源码包文件 一旦RPM执行了上述步骤,将创建二进制的包文件和源码包文件。 二进制包文件包含所有安装或卸载包的额外信息的源文件。 通常安装包的所有...
Lu_Castiel 发布于 5个月前 阅读 1030 评论 7 点赞 2

lvm讲解、磁盘故障小案例

### lvm讲解 ``` DiskA 分区分别为Physical Volume1、Physical Volume2;DiskB 分区为Physical Volume3,在这里Physical volume1,2,3就是磁盘分区 也就是物理卷;然后由单个或多个物理卷组成物理卷组,最后在物理卷的基础上划分出逻辑卷,而逻辑卷格式化后挂载上就可以使用了 ``` #### 准备磁盘分区阶段 - fdisk /dev/sdb - 创建三个新分区,大小分别为2G - 改变分区类型为8e(fdisk中使用t更改类型) 1. 创建新分区 ``` //这里我创建了5个2G的分区,多出的2个留待测试用 [root@24centos7-01 /]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 //创建第一个分区 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2000M 分区 1 已设置为 Linux 类型,大小设为 2 GiB //创建第二个分区 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 ext...
vitus_feng 发布于 6个月前 阅读 1350 评论 5 点赞 2

nginx之proxy_pass指令完全拆解

nginx中有两个模块存在proxy_pass指令。proxy_pass后的后端服务器的uri到底是个啥?
永福 发布于 8个月前 阅读 4361 评论 6 点赞 12 打赏 1

工作中redis合库以及aof踩坑记

概述     此文是第一次搞redis主从小白犯的错,大神可以忽略。记录为了让看到本博文的小白前车之鉴 软件资源             centOs:6.5             redis:2.8.10  背景               公司现有架构均是单机模式,本文仅先介绍redis单机踩的坑-- 即生产应用redis均是单一实例,一旦实例挂掉功能就会不可用。现公司业务使用了一台实例(业务实例),一台session共享实例(session实例)。             现需要对现有架构升级(后续会出整个架构升级的相关博客),先从最简单的redis开始开刀,采用主从复制,启用哨兵监听进行主从切换(后续会有相关详细博客)。 基本问题  线上redis仅启用了rdb持久化,需要启用AOF 线上业务实例和session实例 keys<1W,可以把业务实例和session实例合并节约资源 踩坑记     AOF挖坑       已经搭建了主从模式,创建了多个key验证没问题, 很开心ing, 发现需要启用AOF,查看官方文档认为so easy, 于是乎 改改改配置,重启服务,在主节点添加了一个key,主从验证通过, 非常开心ing。     【敲黑板,开始挖坑了哈】 此时模拟极端故障,把主从节点都停掉了,开始依次开启服务,发现仅有开启...
java_龙 发布于 10个月前 阅读 2676 评论 22 点赞 3

如何在国内愉快的安装 Kubernetes

无需翻墙,如何愉快的与K8S 玩耍
无聊的学习者 发布于 12个月前 阅读 11739 评论 20 点赞 4

运维不仅仅是Linux,居然还要知道这么多?

运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬。当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。 如:环境部署、排错和调优、备份、高可用和集群、监控告警、安全和审计、自动化和DevOps、虚拟化和云服务。
永福 发布于 1年前 阅读 6075 评论 28 点赞 21 打赏 3

简单聊聊: linux 匿名管道

  相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123}' # 输出246 不过这次咱们不来说这些用法, 而是来探讨一些更加有意思的, 那就是 管道两边的数据流"实时性" 和 管道使用的小提示.   其实我们在利用管道的时候, 可能会不经意的去想, 我前一个命令的输出, 是全部处理完再通过管道传给第二个命令, 还是一边处理一边输出呢? 可能在大家是试验中或者工作经验中, 应该是左边的命令全部处理完再一次性交给右边的命令进行处理, 不光是大家, 我在最初接触管道时, 也曾有这么一个误会, 因为我们通过现象看到的就是这样.    但其实只要有简单了解过管道这工具, 应该都不难得出解释: 管道是两边是同时进行, 也就是说, 左边的命令输出到管道, 管道的右边将马上进行处理.  管道的定义 管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放入信息。管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。一个缓冲区不需要很大,它被设计成为环形的数据结构,以便管道可以被循...
Lin_R 发布于 1年前 阅读 1815 评论 9 点赞 8 打赏 1

Let's Encrypt 使用教程,免费的SSL证书,让你的网站拥抱 HTTPS

这篇文章主要讲的就是如何让自己的网站免费从HTTP升级为HTTPS,使用的是 [Let's Encrypt](https://letsencrypt.org/)的证书。实际上也就是一个Let's Encrypt 免费证书获取教程 。 为什么要上HTTPS,说一个小故事。 > 从前有个网站,后来有个广告,没了 作为一个博客,自然不想让在被别人浏览的时候,出现莫名的广告([运营商劫持](https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl#safe=strict&hl=zh-CN&q=%E8%BF%90%E8%90%A5%E5%95%86%E5%8A%AB%E6%8C%81))。这时候,HTTPS的价值就体现出来了。 HTTPS的好处还有很多,但单单这一条,就够我花心思去升级了。 (其实主要目的是提升网站Biger :) ## Let's Encrypt 简介 如果要启用HTTPS,我们就需要从证书授权机构(以下简称CA) 处获取一个证书,Let's Encrypt 就是一个 CA。我们可以从 Let's Encrypt 获得网站域名的免费的证书。这篇文章也主要讲的是通过 Let's Encrypt + Nginx 来让网站升级到HTTPS。 ## Certbot 简介 [Certbot](https://certbot.eff.org) 是Let's Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let's Encrypt 证书。Certbot 是支持所有 Unix 内核的操作系统的,个人博客的...
DiamondFsd 发布于 1年前 阅读 5818 评论 33 点赞 17

haproxy和nginx负载均衡分析

出于对负载均衡工具的疑问,分别对haproxy和nginx的负载均衡进行了抓包分析,分析的过程跟大家分享下。先说下对haproxy抓包得到的结论吧:haproxy在负载均衡的一台后端挂掉后,如果还没达到探测的时间点时,请求还会往挂掉的这台转发,请求会丢失。 haproxy负载均衡的实验过程如下: 1: 先看下haproxy的配置。配置inter 20000为20s检测一次,这个是为了更明显的抓下haproxy的负载均衡探测机制。 listen test9090         bind 127.0.0.1:9090         mode tcp         server localhost90 127.0.0.1:90 check inter 20000         server localhost91 127.0.0.1:91 check inter 20000 2: 后端我是用nginx进行测试,看下nginx的配置如下。可在/var/www/html/建个index.html进行测试 server {             listen       90;             listen       91;             location /{                     root /var/www/html;             }     } 先用curl 127.0.0.1:9090进行测试,并在机器上开两个窗口看下抓包是否均衡正常,两个窗口运行的命令分别如下:tcpdump -i lo -nn 'port 90'      tcpdump -i lo -...
鸿弟 发布于 1年前 阅读 4760 评论 19 点赞 6

Linux Shell 从入门到删除根目录跑路指南

shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。 1、变量为空导致误删文件 base_path=/usr/sbin tmp_file=`cmd_invalid` # rm -rf $base_path/$tmp_file 这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢? (1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?var is empty} -bash: tmp_file: var is empty (2)人肉判断变量是否为空: [[ ${tmp_file} == "" ]] && echo 1 1 [[ -z ${tmp_file} ]] && echo 1 1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh # 若有用未设置的变量即让脚本退出执行 # set -o nounset # 或 set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable # 另外, # 如果命令运行失败让脚本退出执行 set -o errexit # 或 set -e 2、路径含有空格导致误删...
xrzs 发布于 1年前 阅读 11266 评论 26 点赞 20

zabbix自动发现监控redis数据库

zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图: 上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。   下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置: 探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下: UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py 其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 : #coding:utf-8 import json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#RE...
鸿弟 发布于 1年前 阅读 3274 点赞 3

ELK日志分析平台搭建全过程

一、使用背景     当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 kibana-5.0.0 三、安装 1、安装JDK 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 本环境下载的是64位tar.gz包,将安装包拷贝至安装服务器/usr/local目录 [root@localhost ~]# cd /usr/local/  [root@localhost local]# tar -xzvf jdk-8u111-linux-x64.tar.gz 配置环境变量 [root@localhost local]# vim /etc/profile 将下面的内容添加至文件末尾(假如服务器需要多个JDK版本,为了ELK不影响其它系统,也可以将环境变量的内容稍后添加到ELK的启动脚本中) JAVA_HOME=/usr/local/jdk1.8.0_111 JRE_HOME=/usr/local/jdk1.8.0_111/jre CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin export  JAVA_HOME export  JRE_HOME ulimit -u 4096 [root@localhost local]# source /etc/profile 配置limit相关参数 [root@localhost local]# vim /etc/security/limits.conf 添加以下内容 * soft nproc 65536 * hard nproc 6553...
运维2016 发布于 1年前 阅读 6830 评论 12 点赞 6

zabbix自动发现监控mongo数据库

监控mongo写个模板其实挺快的,如果公司每个mongo使用的端口都一致的话,就可直接建立一套模板,然后这个模板链接到各个服务器上即可。但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集。   先看一下效果图, 此监控图是zabbix的筛选功能可能把相关的图整合到一个页面里面去。   具体的自动发现实现如下: 探索规则配置如上,机器上的zabbix agent配置如下: UserParameter=mongo.discover,python /usr/local/zabbix/discover_mongo.py   其中/usr/local/zabbix/discover_mongo.py为自动发现的脚本,脚本内容如下: #coding:utf-8 import simplejson as json import commands (status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'mongod'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u|grep -v "^28"''') outputs = output.split('\n') ports = [] for port in outputs: ports += [{'{#MONGOPORT}': port}] print json.dumps({'data':ports},sort_keys=True,indent=4) 使用系统命令netstat把监听的端口筛选出来,然后以json的格式进行输出。定义到...
鸿弟 发布于 1年前 阅读 2140 评论 1 点赞 5

容器集群管理平台的比较

本文简单介绍了主流的容器管理平台包括Swarm,Kubernetes,Mesos,AWS ECS,并对它们做了基本的比较。
naughty 发布于 1年前 阅读 6016 评论 2 点赞 5 打赏 1

“Linux 集群和自动化运维”高手问答精选

来自OSC 第 126 期高手问答主题——Linux 集群和自动化运维
局长 发布于 2年前 阅读 2077 评论 3 点赞 3

redmine 安装过程中的无数坑

自己在网上看到redmine,感觉功能很强大。于是自己就开始安装,但是谁想到在安装过程中的坑呀,摔的自己遍体鳞伤,自己做一下总结,希望别人能绕过这些坑,走直路。 1. 安装环境:     系统:ubutu12.04  架构:LAMP  安全:防火墙和selinix(全部关闭) 2.安装流程:                                                                                                                                                         A. 安装ruby                                                                                                                                                              #官网下载 ruby-2.2以上的版本,否则安装过程中的组件会安装不上。(以2.2.4为例) # tar zxvf ruby-2.2.4.tar.gz          # cd ruby-2.2.4 # ./configure  # make && make install 设置Ruby环境变 vim ~/.profile export PATH=$PATH:/usr/local/src/ruby-2.2.4/        B.安装...
渺渺星辰 发布于 2年前 阅读 1610 评论 12 点赞 4
顶部