使用yagmail发送邮件

项目地址:https://github.com/kootenpv/yagmail

通过编写python脚本和计划任务,定时发送备份的附件到指定邮箱。

参考的脚本

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import yagmail
import os
file_path_array = ["backup_path1","backup_path2","backup_path3"]
backup_list = []
for file_path in file_path_array:
dirs = os.listdir(file_path)
bakup = os.path.join(file_path,dirs[1])
backup_list.append(bakup)
#print(backup_list)
yag = yagmail.SMTP(user = 'xxx@xxx.com', password = 'passwd', host = 'smtp.xxx.com')
yag.send(to = 'xxx@xxx.net', subject = 'Backup File', contents = backup_list)
import yagmail import os file_path_array = ["backup_path1","backup_path2","backup_path3"] backup_list = [] for file_path in file_path_array: dirs = os.listdir(file_path) bakup = os.path.join(file_path,dirs[1]) backup_list.append(bakup) #print(backup_list) yag = yagmail.SMTP(user = 'xxx@xxx.com', password = 'passwd', host = 'smtp.xxx.com') yag.send(to = 'xxx@xxx.net', subject = 'Backup File', contents = backup_list)
import yagmail
import os

file_path_array = ["backup_path1","backup_path2","backup_path3"]
backup_list = []
for file_path in file_path_array:
    dirs = os.listdir(file_path)
    bakup = os.path.join(file_path,dirs[1])
    backup_list.append(bakup)
    
#print(backup_list)


yag = yagmail.SMTP(user = 'xxx@xxx.com', password = 'passwd', host = 'smtp.xxx.com')
yag.send(to = 'xxx@xxx.net', subject = 'Backup File', contents = backup_list)

Centos8安装Docker

查看Centos版本

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cat /etc/redhat-release
cat /etc/redhat-release
cat /etc/redhat-release

添加镜像

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装依赖

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install yum-utils device-mapper-persistent-data lvm2

安装最新版本containerd.io

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.8-3.1.el7.x86_64.rpm
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.8-3.1.el7.x86_64.rpm
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.8-3.1.el7.x86_64.rpm

安装Docker

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo yum install docker-ce docker-ce-cli
sudo yum install docker-ce docker-ce-cli
sudo yum install docker-ce docker-ce-cli

查看Docker版本

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker version
docker version
docker version

阿里云容器镜像服务

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

配置镜像加速器

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://n5odib5o.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://n5odib5o.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://n5odib5o.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

PhD 答辩纪念

5年的博士经历告一段落,今天的答辩还算顺利,恭喜PhD XXX!

今天是5月16日,是“国际光日”,在1960年的这一天,物理学家兼工程师西奥多·梅曼第一次成功产生激光。也算是一个有纪念意义的日子。

由于线上答辩,失去了一些现场感,但还是拍了一些照片作为纪念。

答辩会场
答辩会场

nginx 搭建webdav (基于宝塔)

前提

我们已经有一个可以运行的宝塔面板

具体内容

1. 使用命令 nginx -V,查看当前nginx 是否包含 http_dav_module 模块

2. 新建一个网站,做好域名解析,配置php为纯静态

3. 在网站设置->配置文件的最后添加

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# add 2021-12-26
location / {
root [your path]; #注意修改成自己的目录
#client_max_body_size 102400M; #大文件支持
autoindex on;
dav_methods PUT DELETE MKCOL COPY MOVE;
# 需要 nginx-dav-ext-module 才有下面的选项
dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
create_full_put_path on;
}
# add 2021-12-26 location / { root [your path]; #注意修改成自己的目录 #client_max_body_size 102400M; #大文件支持 autoindex on; dav_methods PUT DELETE MKCOL COPY MOVE; # 需要 nginx-dav-ext-module 才有下面的选项 dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK; create_full_put_path on; }
    # add 2021-12-26
    location / {
        root [your path]; #注意修改成自己的目录
        #client_max_body_size 102400M; #大文件支持
        autoindex on;
        dav_methods PUT DELETE MKCOL COPY MOVE;
        # 需要 nginx-dav-ext-module 才有下面的选项
        dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
        create_full_put_path  on;
    }

4. 在网站目录,中添加账号密码,控制访问权限

至此利用nginx 成功搭建了webdav服务器,可以使用网页或者WinSCP等其他客户端访问