那些比你走得远的人,并不比你聪慧,只是每天多走了一点。坚持,是最强大的力量。

Shell中要将字符串列表转变为数组,只需要在前面加(),所以关键是将分隔符转变为空格分隔,常用有下面几种方法

Shell分割字符串为数组

方法一: 借助于{str//,/}来处理
1
2
3
4
# str="ONE,TWO,THREE,FOUR"
# arr=(${str//,/})
# echo ${arr[@]}
ONE TWO THREE FOUR
阅读全文 »

一、前言

gunicorn是目前使用最广泛的高性能的Python WSGI(WEB Server Gateway interface)服务器,移植自Ruby的Unicorn项目,使用pre-fork worker模式,具有简单、易用、轻量级、低资源消耗和高性能等特点。

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
# coding=utf-8
import os
def findConfigFile(dir, name):
for relpath, dirs, files in os.walk(dir):
if name in files:
full_path = os.path.join(dir, relpath, name)
return os.path.normpath(os.path.abspath(full_path))

config = findConfigFile('/dir/', 'config.py')
print(config)
阅读全文 »

生成16位数字+字母大小写密码

SHELL
1
2
head -c 160 /dev/urandom | tr -dc a-z0-9A-Z |head -c 16
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | sed 1q
PYTHON

python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters

1
2
3
4
5
6
7
8
#coding=utf-8
from random import choice
import string

def getPassword(length=8, chars=string.ascii_letters + string.digits):
return ''.join([choice(chars) for i in range(length)])

print(getPassword(16))

含义

字符 含义
* 全部。意思是在该时间的任意点都应当执行
? 不指定,任意。仅用于 日(月)和日(周)。0 0 5 * ? 代表每个月的第5天零点,不论星期几。
0 0 ? * 1 代表每周一,不论是当月的哪天。
, 多个值的分隔符,例如1,5,10 - 代表连续值,例如1-20
/ 步长。例如 5/15,代表从5开始,以15为步长。因此,当5/15位于分钟的位置时,表示小时内的第5、20、35和50分钟
L 最后一天。可以是每月最后一天或者每周最后一天。如果用在 天(周)字段,并且前面加数字,则表示最后一个周N。例如5L,表示最后一个周五(5表示周五,L表示最后)。
W 工作日,指周一到周五的任意一天
# 表示第几个的意思,例如 6#3,表示当月第3个星期六(6表示周六,3表示第3个)
阅读全文 »

在安装设置服务器时,经常需要同步或设置Linux系统的时间,本文将通过终端命令timedatectl设置datetimetimezonesynchronize time,以此来管理服务器时间。
在CentOS 8 中,使用chrony来实现时间同步,如果最小化安装系统,需要使用下面命令安装chrony服务。
yum install -y chrony

阅读全文 »

最近在自己的阿里云服务器上跑一个Redis容器,不小心监听了宿主机器的0.0.0.0地址,而且Redis server裸奔没密码,被嗅探到并植入了一堆辣鸡Key,网卡流量跑了接近1TB。还好是docker跑的,因为容器的隔离,宿主机器没被植入啥后门。修复的措施也比较简单,直接rm了docker容器,重新跑了一个redis,把端口修改为只监听127.0.0.1的本机地址,问题解决。

等等,容器的安全搞定了,那一堆Redis的Key怎么清理掉呢?搜索了一下,Redis本身并没有提供批量删除Key的功能。但是,我们可以用一些骚操作来实现批量Key的删除。

阅读全文 »

禁用方法如下:
打开php.ini文件,如:/usr/local/php/etc/php.ini
查找到 disable_functions ,添加需禁用的函数名,如下:

1
2
3
disable_functions = exec,scandir,shell_exec,phpinfo,eval,passthru,system,chroot,chgrp,chown,
proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,
symlink,popepassthru,stream_socket_server,fsocket
阅读全文 »