2016年2月24日 星期三

Perl 取出 HTML 檔案的 table 內容

Reference:
HTML::TableExtract is beautiful

HTML::TableExtract 可以把 HTML 檔案理的 table 內容取出,非常方便。

Example:
#!/usr/bin/env perl

use strict; use warnings;
use HTML::TableExtract;

my $te = HTML::TableExtract->new(
    attribs => { id => 'tbl' },
);

# local copy of
# http://bea.gov/iTable/iTableHtml.cfm?reqid=9&step=3&isuri=1&903=58

$te->parse_file('personal-income.html');

my ($table) = $te->tables;

for my $row ($table->rows) {
    my ($undef, $label, @row) = @$row;
    next unless defined $label;
    if ($label eq 'Unemployment insurance') {
        print "$label\t@row\n";
    }
}

2016年2月14日 星期日

VMware Module DevicePowerOn power on failed Unable to create virtual SCSI device for scsi0:1

收到 mail 通知有一台在 VMware 上的 Windows server 備份失敗,用 VMware vSphere Client 檢查發現是 server 狀況是關機。

啟動這一台 VM guest 時出現錯誤訊息:
Module DevicePowerOn power on failed Unable to create virtual SCSI device for scsi0:1

用 Google 找到這一篇,但它是 import VM 發生的錯誤。

我的做法:
  1. 編輯 VM guest 設定,將第二個硬碟移除
  2. 用 SSH 連到 VM host,切換到 VM guest 的目錄,將 hbr-persistent-state-RDID-xxxxxxx.psf 移到其他目錄
  3. 編輯 VM guest 設定,將 VMDK 加回去
這樣 VM guest 就可以開機了!

回想可能的原因:
昨天設定這一台 VM host 的 Replication,可能複製到另一個 VM host 時發生錯誤,造成 VMDK 檔案狀態卡住。