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 にエラーログを出力させる設定です。