Category: 服务器

Python 微信获取好友、公众号、群聊的信息

获取群聊   import itchat itchat.auto_login(hotReload=True) #itchat.run() mpsList=itchat.get_chatrooms(update=True)[1:] total=0 for it in mpsList: print(it['NickName']) total=total+1 print('群聊的数目是%d'%total) #显示所有的群聊,包括未保存在通讯录中的,如果去掉则只是显示在通讯录中保存的 itchat.dump_login_status()   import itchat itchat.auto_login(hotReload=True) #itchat.run() mpsList=itchat.get_chatrooms(update=True)[1:] total=0 for it in mpsList: print(it['NickName']) total=total+1 print('群聊的数目是%d'%total) #显示所有的群聊,包括未保存在通讯录中的,如果去掉则只是显示在通讯录中保存的 itchat.dump_login_status()

.htaccess:正则表达式、重定向代码

# 位于行首时表示注释。 [F] Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器 [L] Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL [N] Next(下一条规则): 告诉服务器继续重写,指导所有重写指令都执行过 [G] Gone(丢失): 命令服务器返回410 GONE(no longer exists)错误消息 [P] Proxy(代理): 告诉服务器通过mod_proxy模块处理用户请求 [C] Chain(捆绑): 告诉服务器将当前的规则和前面的规则进行捆绑 [R] Redirect(重定向): 命令服务器发出重定向消息,以便用户浏览器发出rewritten/modified(重写/修改)URL的请求 [NC] No Case(不区分大小写): 对客户端请求的URL不区分大小写 [PT] Pass Through(放行): 让mod_rewrite模块将重写的URL传回给Apache做进一步处理 [OR] Or(逻辑或): 用逻辑“或”将两个表达式连接在一起,如果结果为“真”,则会应用后继的相关规则 [NE] No Escape(禁用转义): 命令服务器在输出时禁用转义字符 [NS] No Subrequest(禁用子请求): 如果存在内部子请求,则跳过当前命令 [QSA] Append Query String(追加查询字符串): 命令服务器在URL末尾追加查询字符串 [S=x] Skip(跳过): […]

Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值代表意义

Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值意义 (1) Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义说明 1.1、简要说明 ps: 你在Linux环境下多试下就明白了 $$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号) $? 最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误) $- 显示shell使用的当前选项,与set命令功能相同 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数,此选项参数可超过9个。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 $@ 跟$*类似,但是可以当作数组用 $# 添加到Shell的参数个数 $0 Shell本身的文件名 $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 1.2、脚本举例 我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable # vi variable 脚本内容如下: #!/bin/sh echo "number:$#" echo "scname:$0" echo "first :$1" echo "second:$2" echo "argume:$@" […]

Linux seq命令详解

image

seq: squeue  是一个序列的缩写,主要用来输出序列化的东西 seq常见命令参数 用法:seq [选项]... 尾数  或:seq [选项]... 首数 尾数  或:seq [选项]... 首数 增量 尾数 以指定增量从首数开始打印数字到尾数。   -f, --format=格式     使用printf 样式的浮点格式   -s, --separator=字符串        使用指定字符串分隔数字(默认使用:\n)   -w, --equal-width    在列前添加0 使得宽度相同【自动补位】       --help            显示此帮助信息并退出       --version         显示版本信息并退出 常用的命令展示 常用的命令展示 指定分隔符  横着输出 [root@localhost ~]# seq -s '#' 5 以空格作为分格,且输出单数 [root@localhost ~]# seq -s ' ' 1 2 10     【从1开始间隔2输出】 间隔输出,且写入文件 【默认的间隔符是换行】 […]

怎样在 CentOS 7.0 上安装和配置 VNC 服务器

这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器。 我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。 VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。 一些 VNC 服务器的优点: 远程的图形管理方式让工作变得简单方便。 剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。 CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。 只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。 比 ssh 图形转发和 RDP 连接更可靠。 那么,让我们开始安装 VNC […]

如何通过lvextend 扩展逻辑卷大小

前几天要在虚拟机上搭建oracle环境,一开始给虚拟机分了20G,发现不够用,需要扩到40G。 在网上搜索了些资料,  《转》内容如下: [root@localhost   ~]#   df 文件系 统                               1K-块                 已用           可用           已用%   挂载点  /dev/mapper/VolGroup00-LogVol00            […]

文件隐藏属性: chattr, lsattr

chattr(设置文件的隐藏属性) [root@www ~]# chattr [+-=] [ASacdistu] File/Directory 参数 +:增加某个参数 -:删除某个参数 =:仅有后面接的参数 各个参数的意思 参数 含义 A 设置A属性后,若你访问此文件或目录时,它的访问时间atime不会被修改,可避免I/O较慢的机器过度访问磁盘。这对速度较慢的计算机有帮助。 S 一般文件是异步写入磁盘,加上S属性后,文件将同步写入磁盘 a 当设置a后,文件只能增加数据,既不能删除也不能修改数据,只有root才能设置这个属性 c 设置c属性后,会自动将文件压缩,在读取时自动解压缩 d 当dump程序执行时,设置d属性将可使改文件或目录不被dump备份 i i属性可使文件不能被删除、改名,设置连接也无法写入或添加数据。对于系统安全性有很大帮助。只有root能设置此属性。 s 当文件设置s属性时,如果文件被删除,将从硬盘彻底删除 u 与s相反,当文件设置u属性时,文件删除后数据内容还存在磁盘,可以使用来找回该文件 j A file with the `j' attribute has all of its data written to the ext3 journal before being written to the file itself, if […]

centos7上通过firewalld配置网关服务器

使用场景:有多台内网服务器,其中只有一台能够访问外网,但其他内网服务器也希望访问外网 假设内网网段为:192.168.1.0/24 可访问外网的内网服务器的内网IP为:192.168.1.1 可访问外网的内网服务器的内网网络接口为:enoXXXXXXX 在可以访问外网的服务器上做如下配置: 1) 开启ip_forward转发 # 在/etc/sysctl.conf中添加 net.ipv4.ip_forward=1 # 然后让其生效 sysctl -p 2) 转发内网段的流量 执行如下firewalld命令: firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o enoXXXXXXX -j MASQUERADE -s 192.168.1.0/24 firewall-cmd --reload 1 2 之后,在需要访问外网的内网服务器上添加到192.168.1.1的网关即可访问外网了: route add default gw 192.168.1.1 dev enoXXXXXXX 1 如果希望永久有效,可将网关加到网络的配置文件里。 --------------------- 作者:felix_yujing 来源:CSDN 原文:https://blog.csdn.net/felix_yujing/article/details/72834915 版权声明:本文为博主原创文章,转载请附上博文链接!

centos7 利用firewalld自建NAT网关

在传统的网络结构中,每个子网都有一个网关,子网内的主机通过这个网关进行上网,网关进行地址转换,修改IP报文的源地址等,具体的原理有兴趣的百度一下就知道了。 在传统机房内几乎都是有路由器的,而路由器也自带网关的功能,基本用不到自建NAT,但是在如今横行的公有云中,却是有着很大的需求,例如阿里云,阿里云内网中没有公网IP的电脑如何通过有公网IP的电脑进行上网,这就需要NAT网关。其他公有云也类似,这里以阿里云进行举例: 在阿里云的传统网络中,是不支持自建NAT网关,配置SNAT的。只有在专有网络VPC中,才可以。而其实在专有网络中,内网的主机的网络设置,比如网关也是无法修改的,路由表也没法添加修改。根本没办法将内网主机的网关设为专有网络内带有公网IP的主机。 只能通过专有网络中的虚拟路由器,在路由器中添加路由,通过将所有目标请求都指定下一跳到有公网IP的ecs上,这样才可以将内网中的ecs请求都发到有公网ip的ecs上。 实现步骤如下: ## 进入阿里云控制台,专有网络,路由器,创建路由表: centos7 <wbr>利用firewalld自建NAT网关 目标网段设为所有:0.0.0.0/0 下一跳指定ecs实例为专有网络内有公网IP的ecs实例。 ## 在指定的带有公网IP的实例上操作,启动NAT网关的SNAT源地址转换功能。 ## 开启firewalld防火墙,默认是关闭的。 $ systemctl enable firewalld $ systemctl start firewalld ## 网卡默认是在public的zones内,也是默认zones。永久添加源地址转换功能 $ firewall-cmd --add-masquerade --permanent $ firewall-cmd --reload ## 添加网卡的ip转发功能,添加如下配置 $ vim /etc/sysctl.conf ---------------------------------------------------------------------------------------------------------- net.ipv4.ip_forward=1 ---------------------------------------------------------------------------------------------------------- ## 重载网络配置生效 $ sysctl -p OK,到此,自建NAT网关成功,实现了内网主机通过这台机进行上网,而反向的DNAT端口转发也是可以通过firewalld的端口转发功能来实现。 这样就不需要买阿里云的收费NAT网关了。 另:如果不是公有云主机,而是本机机房的话,那就更简单了: ##直接类似的开启可以访问网络的主机的firewalld防火墙源地址转化功能,和网卡的ip_forward转发功能。 ## 内网电脑只需修改网关,指定网关为配置了snat功能的电脑,则可以通过改电脑访问网络。 $ vim /etc/sysconfig/network-scripts/ifcfg-exxxxx ---------------------------------------------------------------------------------------------------------- […]