Python遍历文件或文件夹
说明root: 当前遍历到的目录, 也就是所在的目录, 字符串dirs: 当前目录下的子目录列表files: 当前目录下的文件列表 比如文件结构 /tmp/1/ : 123451├── file1├── file2├── folder1└── folder2 脚本内容: 1234for root, dirs, files in os.walk("/tmp/1/"): print("root", root) print(dirs) print(files) 输出结果 123456789101112131415161718# 当前的root是/tmp/1/# root下的目录列表为:['folder2', 'folder1']# root下的文件列表为['file2', 'file1']# 遍历到的下一个root, 里面的文件和目录都为空./tmp/1/folder2[][]#...
Python读写文件
使用 Python 读写文件很方便,有多种方法,但是读写大文件还是需要优化的。 python open...
gpg使用记录
要了解什么是 GPG,就要先了解 PGP。 1991 年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件 PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个 PGP 的替代品,取名为 GnuPG。这就是 GPG 的由来。 GPG 有许多用途,本文主要介绍文件加密。至于邮件的加密,不同的邮件客户端有不同的设置。 当前我的系统环境是 Ubuntu 22.04 gpg 版本是 gpg (GnuPG) 2.2.27。 Key 管理Key ID: 该 GPG Key 的唯一标识,值为主公钥的指纹,支持多种格式 (Fingerprint, Long key ID, Short key ID)。UID: 1 个或多个,每个 UID 由 name、email、comment 组成,email 和 comment 可以为空。Expire: 过期时间,可以为永久。主秘钥和主公钥(Primary Key)、子秘钥和子公钥(Sub Key)都是成对出现的,其用途也是一致的。每一对都包含一个...
使用PowerShell操作Windows Defender
首先需要使用到管理员权限运行 PowerShell 查看排除列表12$WDAVprefs = Get-MpPreference$WDAVprefs.ExclusionPath 排除指定文件夹12345# 两种写法,Set-MpPreference 是直接修改,会覆盖之前的规则powershell.exe -Command 'Set-MpPreference -ExclusionPath "C:\xxx", "D:\yyy"'# Add-MpPreference 是追加配置。Add-MpPreference -ExclusionPath "C:\Program Files (x86)\WinAgent\*" 12# 查看是否生效(Get-MpPreference).ExclusionPath | Select-String "C:\Program Files (x86)\WinAgent\*"
CentOS7更新内核版本
确认当前内核版本1uname -r 安装内核仓库 仓库的官方地址是: http://elrepo.org/tiki/HomePage 12rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm 查看可用的内核列表1yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 安装 LTS 版内核1yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt kernel-lt-tools kernel-lt-tools-libs-devel -y 查看当前系统可用的内核1awk -F\' '$1=="menuentry " {print...
备份MySQL脚本-shell版
备份数据库, 并排除系统库, 使用 mysqldump 1234567891011#!/bin/bashset -euo pipefailmysql_host=10.0.0.187mysql_user=rootmysql_passwd=passwordexclude_databases=information_schema|performance_schema|sys|mysqlecho "开始备份数据库……"mysql -h"${mysql_host}" -u"${mysql_user}" -p"${mysql_passwd}" -N -e "show databases;" | grep -Ev "${exclude_databases}" | xargs mysqldump -h"${mysql_host}"...
调整Docker容器内的时区
容器内的时区问题会影响到服务打印的日志, 所以设置时区是很有必要的, 设置容器内时区的方法一般有: 设置 TZ 环境变量 挂载主机的时区文件 直接修改镜像的 dockerfile,将时区默认配置在镜像里 设置 TZ 环境变量docker 环境下, 增加 -e 参数: 1docker run --name test --rm -ti -e TZ=Asia/Shanghai debian date 这种方法也可以写在 Dockerfile 里面, 增加一行: 1ENV TZ Asia/Shanghai 经测试: Debian CentOS 镜像可以支持这种方案Ubuntu Alpine 不支持这种方案 挂载主机的 timezone 和 localtimeDocker 环境下, 增加 -v 参数: 1docker run --name test --rm -ti -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro alpine date 适用于大部分镜像, 特点是和主机保持一致,...
基于Ubuntu的软路由搭建记录
前言我一直使用的是斐讯 k3 这款万元路由器😂,一直用的是 openwrt,不过 openwrt 信号真心不好,刷回官方 root 系统,感觉重获了新生,然后决定路由器只做 WiFi 共享,其他功能交给软路由。我的软路由是买的双网口机器,j4125 的 cpu 做软路由绰绰有余了, 东西如图: 系统使用的是 ubuntu22.04,以下步骤都以此系统为基础进行,网络拓扑如下: 我自己定义的网段,网段不可以有交叉。 设备 LAN 网段 WAN 配置 光猫 192.168.1.0/24 拨号上网 软路由 192.168.3.0/24 DHCP 自动获取地址 斐讯路由器 192.168.2.0/24 固定 IP,固定网关地址 定义内外网 网卡设备名 定义 enp1s0 外网 enp2s0 内网 那么 给外网网卡设置 dhcp,从光猫自动获取 ip,也可以手动设置 ip内网网卡固定个 ip,不用设置网关和 dns,配置文件如下 vim...
Redis集群模式部署
搭建个 6 节点的集群,包括三主三从 创建配置文件12345678port 6379cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize yesprotected-mode nopidfile /var/run/redis.pid 如果是同一台机器上跑 6 个实例的话,需要保证端口和 pid 文件不能重复 启动服务器在每台机器上面执行,启动 6 个 redis 服务器 1redis-server redis.conf 创建集群在一台机器上执行: 1redis-cli --cluster create --cluster-replicas 1 192.168.1.11:6379 192.168.1.12:6379 192.168.1.13:6379 192.168.1.14:6379 192.168.1.15:6379 192.168.1.16:6379 出现提示,输入 yes 连接集群1redis-cli -c -h...
Prometheus常用PromSQL记录
prometheus 查询语法叫 promsql,做个记录: 查询条件Prometheus 存储的是时序数据,而它的时序是由名字和一组标签构成的,其实名字也可以写出标签的形式,例如 http_requests_total 等价于 {name="http_requests_total"}。 一个简单的查询相当于是对各种标签的筛选,例如: 1234http_requests_total{code="200"} # 表示查询名字为 http_requests_total,code 为 "200" 的数据http_requests_total{code!="200"} # 表示查询 code 不为 "200" 的数据http_requests_total{code=~"2.."} # 表示查询 code 为 "2xx"...