Linux 下很多系统管理的工作都会涉及读取档案的内容, 在 Python 下可以透过多个方法开启档案、读取 Pipe 及以参数方式读取档案。 fileinput 是 Python 的内建模组, 它可以用很简单的方法, 实现以上的工作。fileinput 模组提供处理一个或多个档案的功能, 可以是透过 Pipe 输入、用参数方法指定档案, 或者在程式码指定档案也可以。 以下是 fileinput 模组的使用例子: 看到上面的程式码很简单, 但已经可以将 Pipe 及 参数输入的档案读取, 并逐行印出, 例如: $ …
在 Unix Like 环境下的 Pipe (管线) 十分重要, 它可以将一个程式的输出, 送给另一个程式处理, 只要中间用 “|” 字符相隔, 让几个不同的程式互相配合工作, 以下本章会介绍在 Python 读取 Pipe 输入的方法. 在 Python 要读取 Pipe 输入, 可以用 sys 模组的 sys.stdin, 它会读取 /dev/stdin …
RRD 是十分好用的统计工具,很多伺服的监测也会使用 RRD。 今天发现 RRD 内的一组数据纪录出错,但 RRD 内建并没有修改旧数据的功能,需要将 RRD 数据库备份成 XML 档,修改 XML 档后,再复原到数据库,以下是修改的方法,在这里记录一下。 1. 例如要修改数据的 RRD 档是 /usr/local/rrd/file.rrd, 先用 rrdtool 的 dump 功能,将 RRD 的资料汇出成 XML 档: # …
因为 RHEL 需要收费, 很多人也会用 CentOS 代替 RHEL。以下会示范免费下载 RHEL 及更新的方法。 下载 RHEL 8 ISO 要免费下载 RHEL 8 的 ISO 档, 可以进入 Reh Hat Developer 页面, 注册一个帐号。注册完成后, 会收到一封确认电邮, 按下确认电邮的连结便注册完成了. 注册完成后, 进入 …
一到夏天, 对于我是很痛苦时间, 因为我住在村屋顶楼, 如果没有开冷气, 即使用风扇对着吹, 也只感觉到暖风。 今年在夏天来临前搜寻各种天台的隔热方法, 比较后决定架设遮光布, 这种方法既经济实惠, 而是在冬天不热的时候, 或者打风前要拆下遮光布也很方便。 支架在淘宝找到这种欧标 8080 铝制的柱: 选用这种柱的原因, 是日后可以很容易调较遮光在的高度, 而且只要加装滑块螺丝, 在每条坑内也可以安装太阳能灯等设备。 今天全部材料也在淘宝订, 包括 1 块遮光布, 2 枝长及 2 枝短的铝制柱, 每枝铝柱的地脚, 各种不锈钢滑及块螺丝等其他五金配件, 连同运费大约 …
执行指令时, 可以在程式后加入一些参数, 这些参数会传送给程式。在 Python 要读取这些指令的参数。 sys 模组 sys 模组提供多个 Python 执行时的环境变量, 而 sys.argv() 是储存执行指令的阵列, 第一个元素是程式本身。 以下是程式码的写法: 以上程式码会印出执行程式的名称, 配合 len() 函式, 可以知道指令输入了多少个参数。以下是配合使用 len() 函式, 把输入的参数印出:
mPDF 是透过 PHP 建立及编辑 PDF 档的模组, 支援 UTF-8 直接使用 HTML 写入. 如果在 mPDF 写入中文或其他亚洲双字字文字, 如果没有确设定编码, 可能会出现以下错误: HTML contains invalid UTF-8 character(s) 要解决这个错误, 只需在使用 $mpdf->WriteHTML() 或 $mpdf->WriteFixedPosHTML() 前, 用 iconv() …
本文关于在 Linux 下如果想一次过执行目录下所有 Script 的方法。 在 Linux 下要执行目录下所有 Script, 可以逐一把 Script 敲入键盘, 例如: $ ./script.sh $ ./script2.sh $ ./script3.sh …… 除了这样逐一输入外, 可以用以下三种方法一次把目录下的 Script 执行: run-parts 指令 使用 run-parts 指令, …
ImageMagick 是一套开源的图像处理工具, 可以在指令模式下建立, 编辑, 转档图像档案, 支援超过 200 种图像格式, 例如JEPG, GIF, PNG, TIFF 等. 如果在 PHP 要使用 ImageMagick, 除了在 PHP 执行 ImageMagick 外, 最好的方法也是安装 PHP 的 ImageMagick 模式 — Imagick. …
在 Linux 如果需要绑定本机不存在的 IP, 例如在 HAproxy 及 Nginx 可能会用到, 需要开启 Kernel 的参数 net.ipv4.ip_nonlocal_bind. ipv4 及 ipv6 的 ip_nonlocal_bind 参数默认是关闭, 要检视目前的状态, 可以用以下指令: # sysctl net.ipv4.ip_nonlocal_bind # sysctl net.ipv6.ip_nonlocal_bind 如果上面两个指令的回传是 0, …