Press "Enter" to skip to content

Category: 电脑网络

电脑知识,网络资讯

路由器5G信道的选择

以网络知识了解的比较少,这里随便转载一点评论吧。

==========================================

http://koolshare.cn/thread-3578-1-1.html

2、部分设备搜索不到Wifi信号
*关于2.4G:有设备搜不到2.4G信号,此时请检查无线设置中的2.4G信号,信道设置在13可能会造成部分设备无法搜索到信号,通常建议使用1或6信道。此外,频道带宽也有可能影响信号的搜索,在不确定设备支持情况时请使用20Mhz,保证最大兼容。注意,此时2.4G的连接速率会比40Mhz低一半。
*关于5G:有支持5G的设备设备搜不到5G信号。部分用户购买的国际版手机可能工作在国内不支持的信道。遇到此类问题,请不要把信道设置为36-64;一般情况下正常终端应该都会支持149-165,您可以尝试将信道设置在此范围内然后再试。

3、关于无线信号设置的几点建议
2.4G通常作为无线覆盖主力,因此建议用wifi 分析仪 或者 Wifi Analytics之类的软件分析一下周围信道使用状况,尽量避免使用周围占用严重的信道。且建议用20Mhz频道带宽,尽量保证兼容性。
而5G作为高速连接使用的信号,建议使用80Mhz的频道带宽,增加速率,且5G信号中信道对传输速率相对影响较大,低频段信号穿墙能力好,但是速率仅略高于2.4G(36信道)因此,无法发挥5G信号本来的优势,153-157信号一般速率都能达到867Mbps以上,有需要高速接入的,就必须把信道设定为153或157这样的高频信号。

4 Comments

Linux详细查看进程启动时间

Linux系统下查看进程启动时间和运行时间的命令

ps -o lstart -p PID         #根据PID来查询

ps -o lstart,etime -p PID   #根据PID来查询,打印出启动时间和已经运行的时间

ps -eO lstart | grep PROCESS    #根据进程名字查询

提示:
1, 大写的O表示preloaded,小写的o表示user-defined,e表示all processes
2, 如果查出来的时间是1-16:15:58, 则表示该运程运行了1天16小时15分钟
3, etime表示elapsed time, 即程序已经运行的时间

以下几个例子

$ ps -o lstart,etime -p 13062    #根据PID打印出启动时间和持续时间
                 STARTED     ELAPSED
Thu Sep 21 09:41:40 2017  1-01:50:35

$ ps -eo pid,lstart,cmd    #打印出所有进程(-e)的PID,启动时间
3428 Mon Nov  6 20:55:20 2017 /sbin/udevd -d
3495 Mon Nov  6 20:55:22 2017 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
3508 Mon Nov  6 20:55:22 2017 /usr/sbin/nscd
3532 Mon Nov  6 20:55:29 2017 /usr/sbin/snmpd -LS 2 d -Lf /dev/null -p /var/run/snmpd.pid -a
3548 Mon Nov  6 20:55:29 2017 /usr/sbin/sshd
3557 Mon Nov  6 20:55:29 2017 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
3568 Mon Nov  6 20:55:29 2017 crond


#依次打印出某进程的pid,uid,user,启动时间,持续时间,占用CPU时间(cputime),以及cmd
$ ps -eo pid,euid,euser,lstart,etime,cputime,cmd | grep searcher_server
 7259  7259 Fri Sep 22 11:36:21 2017       00:01 S pts/0    00:00:00 grep 13062
13062 13062 Thu Sep 21 09:41:40 2017  1-01:54:42 S ?        1-15:50:04 /export/App/jd_search/searcher/server/bin/searcher_server
Leave a Comment

awk命令之条件判断

在《运维实例:批量统计分区占用情况,并形成Excel报表》这篇文章里,我们用到了一条awk命令

$ df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda1      ext4    20G  4.9G   14G  27% /
tmpfs          tmpfs  127G     0  127G   0% /dev/shm
/dev/sda3      ext4   515G   45G  445G  10% /export
/dev/sdb       ext4   1.1T  476G  570G  46% /export/Data/jd_search

$ df -hT | grep /export | egrep -v '(bigtable)' | awk '{ print $5, $7 }'
445G /export
570G /export/Data/jd_search

$ df -hT | grep /export | egrep -v '(bigtable)' | awk 'END{ if(NR=1) print $5, $7; else if(NR=2 && $7=="/export/Data/jd_search") print $5, $7}'
570G /export/Data/jd_search

下面这条awk大意就是,如果有/export/Data/jd_search分区,则返回这个分区的剩余空间,否则就返回/export分区的剩余空间。

先说说这个END
在Unix awk中两个特别的表达式,BEGIN和END,这两者都可用于pattern中(参考前面的awk语法),提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作。
任何在BEGIN之后列出的操作(在{}内)将在Unix awk开始扫描输入之前执行,而END之后列出的操作将在扫描完全部的输入之后执行。因此,通常使用BEGIN来显示变量和预置(初始化)变量,使用END来输出最终结果。

所以,下方命令可以用来统计文件的行数

$ awk 'END{print NR}' test1.sh

注意,这条命令里,如果没有END这个参数,则NR并不会输出行数。为什么,下面介绍一下NR。

Leave a Comment

运维实例:批量替换配置文件+批量重启服务

工作中遇到的一个小问题,记录一下。假设有一千台机器运行着nginx但每台机器上的nginx目录可能不太一样,比如
/export/servers/openresty-local/nginx/
/export/servers/openresty/nginx/
/export/servers/openresty-ngx-ump/nginx/
现在要替换掉nginx目录下的某个脚本,并且重启这个nginx服务。需要用到的工具有Ansbile和自己写的批量替换脚本batch_op.py

#准备远程机器列表
$ vim ip_list
10.191.172.201
10.190.143.38
10.187.110.4
10.190.49.237
10.190.198.192
10.190.163.211
#准备替换脚本
$ vim /tmp/b.sh
#!/bin/bash

if [ $(id -u) != "0" ]; then
    echo "Error: need root to run this script."
    exit 1
fi

a=`ps -ef | grep openresty | grep -v grep | awk '{ print $11 }' | cut -d\/ -f1,2,3,4`

if [ ! $a ]; then
    echo 'Error! Not found $a directory.'
elif [ -f $a/lualib/resty/nginx_diviner.lua ]; then
   cp $a/lualib/resty/nginx_diviner.lua $a/lualib/resty/nginx_diviner.lua.bak.`date +%Y%m%d%H%M%S` && \
   wget -q -O $a/lualib/resty/nginx_diviner.lua http://172.22.193.65:8003/nginx_diviner.lua && \
   chown admin:admin $a/lualib/resty/nginx_diviner.lua* && \
   $a/nginx/sbin/nginx -s reload && \
   echo "Found and replaced $a/lualib/resty/nginx_diviner.lua"
else
   echo "Not Found $a/lualib/resty/nginx_diviner.lua"
   exit 1
fi

if [ "$a" != "/export/servers/openresty" ] && [ -f /export/servers/openresty/lualib/resty/nginx_diviner.lua ]; then
   cp /export/servers/openresty/lualib/resty/nginx_diviner.lua /export/servers/openresty/lualib/resty/nginx_diviner.lua.bak.`date +%Y%m%d%H%M%S` && \
   wget -q -O /export/servers/openresty/lualib/resty/nginx_diviner.lua http://172.22.193.65:8003/nginx_diviner.lua && \
   chown admin:admin /export/servers/openresty/lualib/resty/nginx_diviner.lua && \
   echo "Extra Operation! also found and replaced /export/servers/openresty/lualib/resty/nginx_diviner.lua"
fi
Leave a Comment

Linux指定yum使用proxy server

1,在第三方机器上建立一个proxy server
推荐使用这个Repo,一个其于Pyhon的小巧的HTTP/HTTPS代理服务器,体积仅有200K。

git clone https://github.com/inaz2/proxy2.git
cd proxy2
python proxy2.py 3128

这样,一个建立在3128端口上的HTTP/HTTPS代理就建立好了。

2,配置本机使用HTTP代理

$ export http_proxy=http://172.22.193.65:3128
$ export https_proxy=http://172.22.193.65:3128

然后,你会发现,yum/wget/ez_install可以正常使用了。

curl的话,可以使用如下命令使用proxy server

$ curl -L --fail https://github.com/docker/compose/releases/download/1.12.0/run.sh > ~/1.sh -x http://172.22.193.65:3128

3,解决yum提示[Errno 14] Peer cert cannot be verified or peer cert invalid
这种是由于proxy server上面的ca证书不被认可,解决方案为Adding “sslverify=false” in the ‘/etc/yum.conf’ file。

$ vim /etc/yum.conf  #添加或修改如下选项
sslverify=false

$ yum repolist all
Leave a Comment

Dropbox vs Google Drive vs pcloud

本文来聊聊我最近使用的几个云存储服务吧。

大约两周前,我使用了近5年的Dropbox满了,达到了25G的容量,已无法再上传新文件,看了下Dropbox的收费方案,最低套餐也需要9.9美元/月(一年99美元),觉得略贵,于是只好找找其它的云存储服务了。

这首先映入眼帘的就是Google Drive。在官网查到,Google Drive最便宜的一款套餐为100G容量1.99美元/月(20美元/年),价格非常合适。而让我觉得放心的是,作为世界上属一属二的互联网公司,Google Drive的服务肯定不会差吧,于是掏出信用卡支付了20美元一年的费用……然尔事实证明,我还是too young too simple了。

首先,Google Drive的客户端不支持设置代理,这意示着,你的电脑必须可以全局穿墙才行,这是首先被我发现不如Dropbox的地方,但是对我这种大牛来说,也不算问题,我家的OpenWrt路由器上部署了SS服务,可以智能穿墙。所以,客户端不能设置支持代理,也无所谓了。在接下来的使用中,我发现了更加严重的问题。

近日购得Macbook Air一款,在macOS上安装了Google Drive客户端。我像迁移Dropbox那样,迁移了Google Drive里的文件。流程为:
1,在Windows上卸载Google Drive客户端;
2,在macOS上安装Google Drive客户端;
3,使用移动硬盘将Windows上面的Google Drive文件夹拷贝到macOS的同步目录下;

然后,神奇的事情发生了:
1,Google Drive文件夹里出现了大量的诸如”文件名.jpg”和”文件名(1).jpg”形式的重复文件,意思是说,对于重复上传的同一个文件,Google Drive并不会覆盖之,而是将它重命名为”文件名(1).jpg”(不仅仅是图片文件,任意格式的都是)。这意味着,如果你要更换一台电脑,你将不能使用拷贝文件的方式来迁移。(难道Google Drive的工程师都是吃翔的吗?同名的文件不会对比一下md5/sha1值再决定要不要覆盖吗??)
2,Google Drive文件夹里丢失了一部分子文件夹。我上网页版Google Drive看了一下,在网页版的回收站里找到了那些文件夹,我不知道Google Drive是如何判断我删除了那些文件夹的。

8 Comments

PhotoShop CS2下载地址

PhotoShop CS2免费了,但Adobe的官网很难找到PhotoShop CS2的下载地址。这里总结一下吧。

PhotoShop CS2下载地址:
地址一
地址二(可选Windows及MAC版本)
地址三
直接下载地址

PhotoShop CS2中文语言包下载地址
地址一
官方下载列表(包括其它语言的)
官方下载页面
注意:如果使用官方的中文语言包, 请确保你的PS安装目录位于C:\Program Files\Adobe\Adobe Photoshop CS2(不能是C:\Program Files (x86)目录), 否则请不要使用官方中文语言包.

PhotoShop CS2汉化补丁下载地址
PConline下载地址(推荐!需要安装到PS目录下的Required目录)

Windows Serial number: 1045-1412-5685-1654-6343-1431
Mac OS X Serial number: 1045-0410-5403-3188-5429-0639

Leave a Comment