httrack Website copier を Mac で使う

httrack Website copier は仕事でお世話になることがあります。

何ができるかというと、

ブラウザからアクセスしたウェブサイト全体を
そのサイト構造を保ったまま
丸ごとコピー(ダウンロード)してくれます。

もちろんブラウザからアクセスできるファイル… HTML/CSS/画像 などのみですが
時と場合によってはとても便利なツールです。

例えば、
■ WordPress で構築したサイトの保守運用をやめて、静的サイトとして保管しておきたい。
■ サイトリニューアルの見積もりのため、既存のサイトのページ数を調査したい(インデックスされていないページも調査可能)。

こんな時に力になると思います。

Download
https://www.httrack.com/page/2/

特徴としては、
◯ 内部リンクをたどってファイルをコピーしていくので、内部リンクされていないページは取得できない(はず)

というところでしょうか。

Windows であれば GUI ツールが用意されているので、
このページでは使い方を説明しません。

Homebrew でインストール

Homebrew – httrack
https://formulae.brew.sh/formula/httrack#default

Manual
https://www.httrack.com/html/fcguide.html

Homebrew がインストールされている前提です。
ターミナルを立ち上げて次のコマンドを入力します。

brew install httrack

かなりインストールには時間がかかります。

インストールが終了したら、確認のため、バージョン出力しましょう。

httrack --help

オプションなどのヘルプの内容が出て、最後にバージョンが出力されます。
HTTrack version 3.49-2
こんな感じでバージョンが出力されれば、インストール完了です。

サイトをコピーする

サイトをコピーしていきます。
次のコマンドがサイトコピーの基本です。

httrack "コピーしたいURL" -O "コピー先のディレクトリへのパス" -v

コマンドラインから実行すると、GUI版とは比べ物にならない位動作が早く完了します。

cron エラー出力

検証環境
xserver レンタルサーバー X10プラン

使用しているツール
ターミナル

Xserver では、管理画面から、cronエラー発生時にエラーを通知するEメールアドレスを設定できますが、エラーログを直接テキストファイルに出力させる方が、より詳細なログが取れるようです。
対象サーバーに、SSHログインしている事を前提としています。

crontab -e

i で insert モード

50 15 * * * /usr/bin/php7.1 /home/xxxxx/xxxxxxx.com/public_html/path/test.php > /home/xxxxxxx/error/error.txt 2>&1

編集後、escキーで insertモードをエスケープした後、 :wq で保存して終了。

以上が、crontab コマンドにて、 /home/xxxxx/xxxxxxx.com/public_html/path/test.php を実行して、 /home/xxxxxxx/error/error.txt にエラーログを出力させる設定です。

GCPのVMインスタンスへSFTP接続

GCP (google cloud platform) のVMインスタンスへSFTP接続する方法です。

検証環境
・Windows 10
使用しているツール
・WinSCP
・PuTTY

PuTTYで秘密鍵、公開鍵を生成

PuTTY を使用し、秘密鍵と公開鍵を生成します。PuTTY が無い場合、次のURLよりダウンロード、インストールして下さい。

https://www.putty.org/

1. “Generate” をクリックして、秘密鍵と公開鍵を生成します。
2. ユーザー名を指定して下さい。
3. Passphrase を入力して下さい。Passphrase は後ほど、SFTP接続時に使用するので控えておいて下さい。
4. 秘密鍵を保存するフォルダを指定して下さい。

Compute Engine に登録

GCP に移動し、Compute Engine > メタデータ を開きます。

タブを「SSH 認証鍵」に切り替え、「編集」をクリックします。

「+ 項目を追加」をクリックし、項目を追加します。
右の入力欄に、先ほど PuTTy で生成した、公開鍵をペーストします。

右にユーザー名が表示されるのを確認します。

Win SCP で SFTP接続

ホスト名: 外部IP
ポート: 22
ユーザー名: ユーザー名
パスワード: PuTTY で設定した Passphrase

「設定」 > 「SSH」 > 「認証」 > PuTTY で生成した秘密鍵ファイル (.ppk) を登録します。

サーバーに接続します。