menu Chancel's Blog
rss_feed lightbulb_outline

我的笔记

搜索
列表(132)
logging自动创建日志文件
类型:Python

logging的配置以YAML形式导入项目后自动创建日志文件

更新于 2021-07-08 11:29:24
创建于 2021-07-08 11:28:38

logging自动创建日志文件
import logging
import yaml

with open('logging.yaml' 'r', encoding='utf-8') as f:
    config = yaml.load(f, Loader=yaml.FullLoader)
    for key,value in config['handlers'].items():
        if value.get('filename'): 
            if not os.path.exists(os.path.dirname(value.get('filename'))):
                os.mkdir(os.path.dirname(value.get('filename')))
    logging.config.dictConfig(config)
logger = logging.getLogger('main.common')
Curl命令统计耗时情况
类型:Linux

使用curl命令分析请求情况

更新于 2021-07-01 16:45:08
创建于 2021-07-01 16:44:29

Curl命令统计耗时情况

创建需要分析的文本内容,可参考CURL - www.mit.edu

➜  ~ cat curl-format.txt
    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
      time_redirect:  %{time_redirect}\n
   time_pretransfer:  %{time_pretransfer}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

使用 curl-format.txt 内的格式进行分析

curl -w "@curl-format.txt" -o /dev/null -s -L "https://baidu.com"

资料转载自:使用 curl 命令分析请求的耗时情况

Rsync增量同步文件
类型:Linux

使用Rsync增量备份服务器文件

更新于 2021-07-01 15:01:33
创建于 2021-07-01 15:01:33

Rsync增量同步文件

备份机器开启Rsync服务,创建配置文件

➜  ~ sudo systemctl status rsync
● rsync.service - fast remote file copy program daemon
   Loaded: loaded (/lib/systemd/system/rsync.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-06-30 16:15:49 UTC; 14h ago
 Main PID: 8218 (rsync)
    Tasks: 1 (limit: 4655)
   CGroup: /system.slice/rsync.service
           └─8218 /usr/bin/rsync --daemon --no-detach

Jun 30 16:15:49 ubuntu1804-server systemd[1]: Started fast remote file copy program daemon.

可以看到B机器的Rsync正常运行中,接下来编辑(或添加)Rsync的配置文件

sudo vim /etc/rsyncd.conf

# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
uid = root
gid = root
use chroot = no
max connections = 10
strict modes = no
port = 41000
# pid文件,如无法再次启动可删除
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log

[rsync-backup]
path = /mnt/sdb/rsync-server
comment = rsync backup
ignore errors
read only = no
write only = no
hosts allow = 10.0.0.0/24
list = false
uid = chancel
gid = chancel
auth users = rsync
# 用户认证配置文件
secrets file = /etc/rsync-user.pass

/etc/rsync-user.pass文件

sudo vim /etc/rsync-user.pass

user:password

rsync-user.pass文件的权限应为400,然后重启下B机器的Rsync服务

sudo chmod 400 /etc/rsync-user.pass
sudo systemctl restart rsync.service

接下来我们登录A机器,同样创建 /etc/rsync-user.pass 文件,存入密码即可

sudo vim /etc/rsync-user.pass

password

注意rsync-user.pass为400权限

sudo chmod 400 /etc/rsync-user.pass

进行同步

rsync -vzrtp --delete --progress --password-file=/etc/rsync_user.pass --port=41000 /srv rsync@192.168.11.11::rsync-backup/10.0.0.100
VSCode调试信息输出控制台
类型:IDE

Visual Studio Code 调试信息输出到 Debug Console

更新于 2021-06-18 10:59:31
创建于 2021-06-18 10:59:04

VSCode调试信息输出控制台

修改项目的launch.json文件,添加console参数

{   "version": "0.2.0",
    "configurations": [
        {   "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "internalConsole"
        }
    ]
}

资料来源

Linux主机实现NAT转发
类型:Linux

如何配置一台Linux系统的主机作为网关实现NAT转发?

更新于 2021-06-29 14:11:09
创建于 2021-06-16 10:45:41

Linux主机实现NAT转发
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

sudo sysctl -p

sudo iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o enx00a0c6000000 -j MASQUERADE

# 为了保存iptables规则,需要安装iptables-persistent
sudo apt install iptables-persistent
sudo netfilter-persistent  save
VSCode CPU占用过高
类型:IDE

VSCode - runJediLanguageServer 进程占用CPU过高

更新于 2021-06-16 10:44:49
创建于 2021-06-16 10:44:49

VSCode CPU占用过高

关闭VSCode之后发现CPU占用很高,一查竟然是一个名为 runJediLanguageServer的进程在疯狂占用CPU

解决方案如下

  1. 打开VSCode的命令界面(Ctrl+Shift+P),输入Open Settings,选择以Json文件打开VSCode设置
  2. 在打开的文件中添加配置 "python.experiments.optOutFrom": ["pythonJediLSP"]

资料来源:https://stackoverflow.com/questions/66518708/runaway-jedi-language-task-in-vscode

Ubuntu1804修改主机名
类型:Linux

Linux - Ubuntu1804使用hostnamectl命令修改主机名称

更新于 2021-06-16 10:44:19
创建于 2021-06-16 10:44:19

Ubuntu1804修改主机名
sudo hostnamectl set-hostname my-machine-new
Office转变版本脚本错误
类型:Windows

Office 2016 转变VOl版本报错解决

更新于 2021-07-16 14:48:44
创建于 2021-06-16 10:42:01

Office转变版本脚本错误
Linux批量重命名指定文件
类型:Linux

Linux批量重命名指定文件

更新于 2021-06-16 10:40:18
创建于 2021-06-16 10:40:18

Linux批量重命名指定文件
rename '\s\被替换的部分\新的内容\' $(find ./ -name "*.md")
Linux配置sftp传输文件
类型:Linux

Linux 配置用户使用sftp传输文件

更新于 2021-06-16 10:40:04
创建于 2021-06-16 10:40:04

Linux配置sftp传输文件
sudo groupadd sftpusers
sudo useradd -s /bin/false -G sftpusers [user]
sudo passwd [user]

sudo vim /etc/ssh/sshd_config

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftpusers
# 指定 sftp 命令
ForceCommand internal-sftp
# 这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
X11Forwarding no
AllowTcpForwarding no

sudo systemctl restart sshd
Windows复制文件保留权限
类型:Windows

Windows - 复制文件时保留文件权限

更新于 2021-06-16 10:39:02
创建于 2021-06-16 10:39:02

Windows复制文件保留权限

在视窗操作复制文件时,通常会丢失文件权限,这样会导致一些需要检验文件权限的软件操作失败,如何在复制文件时保留文件权限

使用CMD/Powershell运行以下命令来复制移动文件

xcopy C:\Users\ycs10\Documents\Syncthing\NoteRepository\00.自由收藏\Certificates\ C:\Cerificates\ /O /X /E /H
Pyenv无法初始化
类型:Python

WARNING: pyenv init - no longer sets PAT

更新于 2021-06-16 10:38:46
创建于 2021-06-16 10:38:46

Pyenv无法初始化

安装Pyenv后,按照提示添加下面3个环境初始化的命令到 ~/.zshrc 中,结果提示警告信息 pyenv init - no longer sets PATH.

~ ➤ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
~ ➤ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
~ ➤ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
~ ➤ source ~/.zshrc
WARNING: `pyenv init -` no longer sets PATH.
Run `pyenv init` to see the necessary changes to make to your configuration.
~ ➤

修改原3个环境变量形式如下即可解决

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init --path)"
fi

参考资料:https://github.com/pyenv/pyenv/issues/1906

1 of 11 | A total of 132