Linux下tmp目录的管理
生成临时文件可以使用mktemp命令生成tmp文件,mktemp -d生成临时目录,避免临时目录重复使用的问题
123456#!/bin/bashtmp_file="$(mktemp)"tmp_folder="$(mktemp -d)"echo $tmp_fileecho $tmp_folder
tmp目录定时清理这个是由systemd的几个模块实现的, 在centos7中:
123systemd-tmpfiles-setup.service :Create Volatile Files and Directoriessystemd-tmpfiles-setup-dev.service:Create static device nodes in /devsystemd-tmpfiles-clean.service :Cleanup of Temporary Directories
配置文件也有3个地方:
123/etc/tmpfiles.d/*.conf/run/tmpfiles.d/*.conf/usr/lib/tmpfiles.d/*. ...
离线安装Docker
离线二进制包下载地址 https://download.docker.com/linux/static/stable/x86_64/
1234wget https://file.babudiu.com/f/B1I8/docker-24.0.1.tgztar xf docker-24.0.1.tgzmv docker/* /usr/bin/
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778cat > /usr/lib/systemd/system/containerd.service << EOF[Unit]Description=containerd container runtimeDocumentation=https://containerd.ioAfter=network.target local-fs.targe ...
harbor接入外部trivy镜像漏洞扫描
harbor接入trivy漏洞扫描, 用到的开源工具harbor-scanner-trivy
安装需要依赖Redis, 先安装Redis
安装trivytrivy是扫描核心组件, 需要安装,参考trivy官网安装文档
https://aquasecurity.github.io/trivy/v0.41/getting-started/installation/
12345678910RELEASE_VERSION=$(grep -Po '(?<=VERSION_ID=")[0-9]' /etc/os-release)cat << EOF | sudo tee -a /etc/yum.repos.d/trivy.repo[trivy]name=Trivy repositorybaseurl=https://aquasecurity.github.io/trivy-repo/rpm/releases/$RELEASE_VERSION/\$basearch/gpgcheck=1enabled=1gpgkey=https://aquasecuri ...
python常用配置
pip升级pip版本1pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple pip -U
镜像源中科大源配置说明: https://mirrors.ustc.edu.cn/help/pypi.html
临时使用1pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple package
设为默认通过pip命令来配置通过配置文件来配置升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
1pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simplevim ~/.config/pip/pip.conf
12[global]index-url = https://mirrors.ustc.edu.cn/pypi/web/simple
使用Nginx反向代理域名
需求如下:研发代码里写死了地址 https://api.chehezhi.cn 现在在不想发布新代码的情况下修改地址为 https://api-st.chehezhi.cn
手动增加反向代理的header先 ping api-st.chehezhi.cn 获取到服务器的ip
所以临时在pod里面新增了nginx 服务,配置如下,由于是代理https服务,还需要配置ssl证书,刚好有证书。。。
1234567891011121314151617181920212223server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; ssl_certificate /etc/nginx/ssl.crt; ssl_certificate_key /etc/nginx/ssl.key; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_pre ...
使用Python解析xml
xml是一种固有的分层数据格式,最自然的表示方式是解析成树状。 ElementTree将整个 xml 文档解析成树状结构, Element就表示这个树状结构中的单节点。整个xml文档与Python交互(读取和写入文件)是在ElementTree(相当于整棵树)上完成。单个 xml 元素及其子元素的交互是在Element(相当于leaf)上完成。
XML语法文档声明从XML 1.1开始,在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。XML文档声明的语法格式如下所示:
1<?xml version="version" encoding="value" standalone="value" ?>
version:用于指定遵循XML规范的版本号。在XML声明中必须包含version属性,且该属性必须放在XML声明中其他属性之前。
encoding:用来指定XML文档所使用的编码集。
standalone:用来指定该XML文档是否和一个外部文档嵌套使用,取值为yes或no。如果设 ...
Debian常用配置
这里以Debian12为例
修改国内源12345# 修改默认镜像源sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list# 修改security镜像源sudo sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list
配置网络vim /etc/network/interfaces
固定ip配置12345678auto enp0s3iface enp0s3 inet static address 192.168.1.240/24 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8# 其中 network\broadcas ...
改造windows terminal支持lrzsz
在windows下使用xshell,如果执行 rz 或者 sz 是可以快捷上传/下载文件到本地的,这在使用堡垒机登录服务器会很有用,或者多层ssh嵌套的时候,某种极端的场景下,这可能是唯一的解决方案了。在windows下使用xshell连接服务器,这时候输入rz,会弹出一个文件选择框:
但是在windows terminal下,是这样的:
无意中发现了一个开源工具,可以解决这个问题,开源地址是:https://github.com/qingyunha/zssh
安装通过源码安装123git clone https://github.com/qingyunha/zssh.gitcd zsshgo get zssh
默认可执行文件是在GOBIN中, 需要放到系统的PATH目录中。
二进制安装123curl -OL https://file.babudiu.com/f/4Oil/zsshsudo mv zssh /usr/local/binsudo chmod +x /usr/local/bin/zssh
使用方法: 使用 zssh 替代 ssh 命令即可。
效果如下:
...
jenkins优雅的增加一个windows节点
配置windows这里我选择使用ssh来连接windows,这样可以完全由jenkins来管理windows节点,比如agent的启动与停止、agent的更新等都不需要登录windows来操作了。
安装openssh server这里选择moba ssh server, 下载地址:https://mobassh.mobatek.net/download.html moba ssh server 基于 cygwin 和原生windows有差别,特殊情况下执行结果不一致,我放弃了,转而使用原生 openssh 服务
GitHub地址:https://github.com/PowerShell/Win32-OpenSSH/releases
最新版和jenkins兼容性有些问题,我用的是 v8.1.0.0p1-Beta 版, 下载 OpenSSH-Win64.zip 解压到 windows 的 C:\Program Files\OpenSSH 目录下,然后执行(管理员权限运行powershell)
123456789101112131415cd "C:\Program Files\ ...
Ingress Nginx 配置ssl双向认证
记录一下在kuberentes下使用ingress-nginx来配置ssl双向认证,可以参考其他几篇文章:使用certbot自动申请ssl证书
使用acme.sh来自动更新https证书
制作和使用自签名证书
Nginx配置SSL双向认证
创建CA证书执行以下命令,创建自签的CA证书。
1openssl req -x509 -sha256 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 -nodes -subj '/CN=Fern Cert Authority'
生成server证书
这里可以使用公共的CA签发的证书, 比如各大云服务商购买的证书。下面是自签证书的步骤。
生成Server端证书的请求文件1openssl req -new -newkey rsa:4096 -keyout server.key -out server.csr -nodes -subj '/CN=foo.bar.com'
使用根证书签发Server端请求文件,生成Server端证书1openssl x ...