Press "Enter" to skip to content

月与灯依旧 Posts

iptables delete some rules form a chain

以下两条命令均可用

iptables -t nat -L PREROUTING --line-numbers | grep RULE_NAME | cut -d" " -f 1 | xargs iptables -t nat -D PREROUTING

for i in $(iptables -t nat -nvL PREROUTING --line-numbers | grep RULE_NAME | grep ^[0-9] | awk '{ print $1 }' | tac); do iptables -t nat -D PREROUTING $i; done
Leave a Comment

How to run a crontab job every X seconds

如果你有一个job, 需要每隔5秒运行一次.

以下写法是错误的

* * * * * sleep 5; /bin/cmd

如果使用这种写法, 会导致在每分钟的第0秒开始, sleep 5秒以后, 再运行/bin/cmd, 然尔运行完就结束了, 不会每隔5秒运行一次.

正确写法1

* * * * * for i in {1..12}; do /bin/cmd; sleep 5; done

正确写法2

* * * * * REMAIN=60 INC=5 ; while ; do /bin/cmd; sleep $INC; REMAIN=$(($REMAIN - $INC)); done

正确写法3

* * * * * /bin/cmd
* * * * * sleep 5; /bin/cmd
* * * * * sleep 10; /bin/cmd
* * * * * sleep 15; /bin/cmd
......
* * * * * sleep 55; /bin/cmd

可以使用systemctl status cron.service -l命令看看cron服务的状态以及最新日志.

参考: How to run a cronjob every X seconds in cron

Leave a Comment

docker基础知识(一)

安装docker

# 适用ubuntu 16.04
$ sudo apt install docker docker.io

# 适用CentOS 7 (这部分文档来自Docker官方https://docs.docker.com/install/linux/docker-ce/centos/)
$ yum install -y yum-utils device-mapper-persistent-data lvm2    # 安装依赖
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum install docker-ce docker-ce-cli containerd.io
$ systemctl start docker

一,images管理
搜索kms相关的image

$ sudo docker search kms
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
luodaoyi/kms-server                          kms server                                      21                   [OK]
lunker/kms                                   ubuntu image repositoiry for kms                1                    
leon0516/py-kms                              this is beta version!!!                         1                    [OK]
captbrick/py-kms                             Py-KMS                                          1                    [OK]
gkuzet/kms                                   KMS Server written in C                         1                    
openvidu/openvidu-server-kms                 OpenVidu platform service. It includes Ope...   1                    

比如第1个luodaoyi/kms-server,也可以用https://hub.docker.com/r/luodaoyi/kms-server/的方式查看相关信息.

下载想要的image(不必需)

$ sudo docker pull luodaoyi/kms-server

查看本地的images

$ sudo docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
luodaoyi/kms-server   latest              4f86d964ac52        4 months ago        4.09 MB

$ sudo docker image ls
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
luodaoyi/kms-server   latest              4f86d964ac52        4 months ago        4.09 MB
Leave a Comment

Linux get DevName of a directory

Linux系统下, 获得某一个子目录(例如/data/home/release )对应的DevName(如sdb等). 现在的情况是

有些机器是这样的

Filesystem      Size  Used Avail Use% Mounted on
......
/dev/sda5       1.6T  343G  1.2T  23% /data

而有些机器是这样的

Filesystem      Size  Used Avail Use% Mounted on
......
/dev/sda5       1.6T  343G  1.2T  23% /data
/dev/sdb        488M   56M  408M  12% /data/home/release

解决办法

part=`df -P /data/home/release | awk 'END{print $1}'`    #得到一个诸如/dev/sda3的字符串
devname=${part:5:3}             #切割上面的字符串,从第5位开始,取3位
echo $devname
1 Comment

路由器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