menu Chancel's Blog
rss_feed lightbulb_outline

我的笔记

搜索
列表(132)
PS被禁止运行脚本
类型:Windows

Powershell被禁止运行脚本的解决方案

更新于 2021-06-16 10:37:55
创建于 2021-06-16 10:37:55

PS被禁止运行脚本

在Powershell中运行脚本出错,提示如下

  • Windows - Cannot be loaded because running scripts is disabled on this system

使用管理员权限启动PowerShell,并解除禁止运行脚本

set-executionpolicy remotesigned
Windows切换IP脚本
类型:Windows

Windows - 快速切换IP设置的BAT脚本

更新于 2021-06-16 10:36:24
创建于 2021-06-16 10:36:24

Windows切换IP脚本
Office2016激活脚本
类型:Windows

Windows Office 2016 - 激活脚本

更新于 2021-06-16 10:35:55
创建于 2021-06-16 10:35:55

Windows10激活脚本
类型:Windows

Windows10 - BAT激活脚本

更新于 2021-06-16 10:35:32
创建于 2021-06-16 10:35:32

Windows10激活脚本
www-data用户安装pip
类型:Python

Python为www-data用户安装pip包

更新于 2021-06-16 10:35:03
创建于 2021-06-16 10:35:03

www-data用户安装pip
sudo mkdir /var/www/.local

sudo mkdir /var/www/.cache

sudo chown www-data.www-data /var/www/.local

sudo chown www-data.www-data /var/www/.cache
Curl检测WebDav服务器
类型:Software

Linux - 利用Curl操作WebDAV文件服务器

更新于 2021-06-16 10:34:20
创建于 2021-06-16 10:34:20

Curl检测WebDav服务器

在命令行模式下通常我们需要拷贝日志或SQL文件用于日志分析数据分析,这个时候通常的做法是使用SCP或基于SCP的扩展软件如Winscp等工具

也有不少第三方的SSH工具自带文件管理,通常足够满足我们对于服务器文件的管理,但也有特殊情况

如PVE或者堡垒机等在网页上操作服务器,这个时候我们无法使用常规手段获取到服务器的文件,在网页的命令行中分析文件是在是一件要命的事情

恰好手头有一个能用的WebDAV服务器(通常家庭NAS/服务器文件管理器Web服务都会带),那就可以利用CURL来上传/下载文件

获取服务器dav文件列表,理论上应该会返回文件列表,但我的WebDAV服务器仅返回“Not Found”

❯ curl --user "username:password" 'https://www.chancel.ltd/dav/'
Not Found

上传文件

❯ curl --user "username:password" -T '/root/codes/route_restart/demo.log' 'https://www.chancel.ltd/dav/demo.log'

读取文件

❯ curl --user "username:password" 'https://www.chancel.ltd/dav/demo.log'

删除文件

❯ curl -X DELETE --user "username:password" 'https://www.chancel.ltd/dav/demo.log'
Haproxy配置HTTP代理
类型:Software

Haproxy作HTTP代理服务器的负载均衡配置文件

更新于 2021-06-16 10:33:54
创建于 2021-06-16 10:33:54

Haproxy配置HTTP代理

在封闭内网,有多个HTTP代理服务器做正向代理访问外网,使用Haproxy做简单的配置

global
    # 最大并发2000
    maxconn 2000
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

       # 日志配置,需要搭配rsyslog实现,日志等级local2
    log 127.0.0.1 local2

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL). This list is from:
    #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    # An alternative list with additional directives can be obtained from
    #  https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
    ssl-default-bind-options no-sslv3

defaults
    log global
    mode    http
    option  httplog
    option  dontlognull
        timeout connect 30s
        timeout client  30s
        timeout server  30s
    maxconn 2000

frontend http-proxy
    bind *:33128
    mode http
    # 以下3句只允许172.16.1.2访问,不允许其他来源ip访问
    acl allow_host src 172.16.1.2
    tcp-request content accept if allow_host
    tcp-request content reject
    default_backend http-proxy-backend

backend http-proxy-backend
    mode http
    balance roundrobin
    option  redispatch
    # 超出最大请求数则排队30秒
    timeout queue 30s
    default-server check inter 1000 rise 1 fall 1 maxconn 2000
    server  http-proxy-1   172.16.1.11:3128 
    server  http-proxy-2   172.16.1.12:3128
    server  http-proxy-3   172.16.1.13:3128

# 监控面板,访问8404
listen stats
    bind *:8404
    stats enable
    stats uri /monitor
    stats refresh 5s

如果需要将访问信息输出到 /var/log/haproxy.log,则需要修改/etc/rsyslog.conf,在文件尾添加如下配置

...

$ModLoad imudp
$UDPServerRun 514

local2.* /var/log/haproxy.log
ab与siege测试网站并发量
类型:Software

使用ab与siege测试Web网站的并发量

更新于 2021-06-16 10:32:55
创建于 2021-06-16 10:32:55

ab与siege测试网站并发量
❯ ab -n 1000 -c 100 http://www.baidu.com/
❯ ab -n 1000 -c 10 http://www.baidu.com/

❯ sudo apt install siege
❯ siege -c 20 -r 10 https://www.baidu.com
Android国外原生Rom
类型:Hybrid

Android - 国外第三方原生Rom

更新于 2021-06-16 10:30:51
创建于 2021-06-16 10:30:51

Android国外原生Rom

资料来源

备份下以便日后查询

  • Pixel Experience
  • LineageOS
  • Evolution X
  • Corvus OS
  • Revenge OS
  • Havoc-OS
  • Arrow OS
  • Bliss ROM
  • Project Sakura
  • MSM Extended
  • crDroid
  • Paranoid Android
Python3日志模块配置
类型:Python

Python3使用YAML文件配置Logging日志模块

更新于 2021-06-16 10:30:29
创建于 2021-06-16 10:30:29

Python3日志模块配置

logging 支持YAML格式的日志配置文件,在项目入口main文件同一层添加logging.yaml文件,内容如下

version: 1
formatters:
  common:
    format: "%(asctime)s - %(levelname)s - %(threadName)s - %(message)s"
    datefmt: "%Y/%m/%d %H:%M:%S"
  console:
    format: "%(asctime)s - %(levelname)s - %(pathname)s - %(message)s"
    datefmt: "%Y/%m/%d %H:%M:%S"
handlers:
  # 不同会输出大于等于此级别的信息。
  common:
    class: logging.handlers.TimedRotatingFileHandler
    formatter: common
    level: INFO
    when: D
    interval: 1
    encoding: utf8
    filename: "logs/running.log"
    # suffix: "%Y-%m-%d.log"
    # 日志保留个数
    backupCount: 7
  console:
    class : logging.StreamHandler
    formatter: console
    level   : INFO
    stream  : ext://sys.stdout
loggers:
  main.common:
    level: INFO
    handlers: [common]
# 如果模块中没有使用 如logging.getLogger('main.common') 这样的配置来获取loggers中对应的配置,则默认会使用下面的root配置
root:
  level: DEBUG
  handlers: [console]

在main文件配置logging模块

import os
import yaml
import logging
import logging.config

os.chdir(os.path.abspath(os.path.dirname(os.path.abspath(__file__))))

# Logger config
if not os.path.exists('logs'):
    os.mkdir('logs')
# 日志配置
with open('logging.yaml', 'r', encoding='utf-8') as f:
    config = yaml.load(f, Loader=yaml.FullLoader)
    logging.config.dictConfig(config)
logger = logging.getLogger('main.common')
PVE关机并休眠所有虚拟机
类型:Virtualization

Proxmox - 关机并休眠PVE的所有虚拟机

更新于 2021-06-16 10:29:22
创建于 2021-06-16 10:29:22

PVE关机并休眠所有虚拟机

关机并休眠所有虚拟机

qm list | grep running | awk -F'[^0-9]*' '$0=$2' | while read -r vm_id; do qm suspend $vm_id --todisk 1; done; shutdown -h now

核心点在于如何休眠单台机器

qm suspend 100 --todisk 1

参考资料

Markdown代码类型列表
类型:Hybrid

Markdown - 代码块语言标注支持名称列表(Python3)

更新于 2021-06-16 10:26:45
创建于 2021-06-16 10:26:45

Markdown代码类型列表

详细列表参考完整笔记

2 of 11 | A total of 132