在开发的过程中,我们或多或少都会开发一些小的程序,比如下载数据、清理数据、发送邮件等等。程序写完后,我们会将它们部署到特定的机器上去运行,有些需要在Linux机器上跑,有些又需要在Windows机器上面跑。需要定时的话就在任务计划中添加一个计划,每个程序运行的结果都可以自己写入相应的日志文件中。这样的解决方案对于少数的任务来说足够了,如果任务数量变多了,我们就会被下面的任务困扰
- 任务非常多,单机性能有限,怎么自动分布到不同的机器上去运行
- 方便的获取任务运行的结果
- 有效的监控运行的任务
学以致用
在开发的过程中,我们或多或少都会开发一些小的程序,比如下载数据、清理数据、发送邮件等等。程序写完后,我们会将它们部署到特定的机器上去运行,有些需要在Linux机器上跑,有些又需要在Windows机器上面跑。需要定时的话就在任务计划中添加一个计划,每个程序运行的结果都可以自己写入相应的日志文件中。这样的解决方案对于少数的任务来说足够了,如果任务数量变多了,我们就会被下面的任务困扰
最近有个需求需要批量下载邮箱中某一类型邮件的附件,使用了Python
标准库中的IMAP
以及EMAIL
模块。但是下载下来后总有一些附件的标题是乱码。。。了解了下邮件协议后,终于发现问题所在了。
有个数据服务器磁盘空间快要被占满了,使用了rm删除一些无用的大文件后,使用df -h
查看磁盘状态,发现并没有释放空间。
经常一番查找后确认是因为被删除的文件还在被进程引用。可以通过命令lsof | grep deleted
确认是不是这个原因,命令执行后,如果被删除的文件在命令结果列表里,那么就是该文件还在被引用。
解决方法: 关闭对应进程,释放占用的fid
另外,这次操作的磁盘对应的文件系统是LVM
的,了解下相关命令。
# 显示磁盘信息 |
最近有个需求想把服务器上的照片同步到电脑后,然后再使用Google Photo备份到google。想到了使用rsync来做同步。
rsync是一个类UNIX系统下的数据镜像备份工具,它的特性如下:
在使用rsync进行远程同步时,可以使用两种方式:远程Shell方式(用户验证由ssh负责)和 C/S 方式(即客户连接远程rsync服务器,用户验证由rsync服务器负责)。
无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
Python中用str
类型来表示带编码的字符串,不同的字符编码可以通过unicode
这个中间格式来转换。
# -*- coding: utf-8 -*- |
v2ray是新一代理软件,原生支持Socks、HTTP、Shadowsocks、VMess等协议,内置路由功能,可以选择性转发或者阻止连接。使用v2ray,你需要在墙外有一台可以安装v2ray的服务器(支持Windows、Linux、MacOS、FreeBSD系统),然后在需要翻墙的设备上安装v2ray客户端;另外还可以通过在墙内配置一台v2ray中转服务器,用户直接通过浏览器HTTP代理或者Socks代理连接中转服务器,而中转服务器连接墙外的v2ray(文中使用的就是这种方式)。