Mono Works

チラシのすきま

hugoメンテナンスメニュー(hugo関連スクリプト 第4回)

ひとつ別の話題を挟みましたが、第3回のhugo関連スクリプト記事の予告どおり、今回は、その他たまに使うスクリプトと hugo環境のメンテナンスをおこなうためのスクリプトをご紹介します。

201807isogiyoshi04 烏賊刺しのゲソ部分をゲソ焼きに

今回のスクリプト

#!/bin/bash

# 環境変数:hugoの作業ディレクトリ
readonly HUGO_DIR="/mnt/c/《自分なりのPath》"
# 環境変数:同期に使用する.htaccessファイル
readonly HTACCESS_NAME="20180612.htaccess"

if cd "$HUGO_DIR"; then
  :
else
  echo "存在しないディレクトリがhugoの作業ディレクトリに指定されています。"
  exit
fi

echo -n "hugoの作業
  1. シンク(.htaccess)
  2. メンテナンスメニュー
  3. キャンセル
選択(1-3):"
read -r choice_to_do

case $choice_to_do in
  [1]* )
    rsync -avz --update --chmod=0604 ${HUGO_DIR}/htaccess/${HTACCESS_NAME} {ユーザ名}@{サーバアドレス}:{ホストのディレクトリ}.htaccess
  ;;

  [2]* )
    echo -n "
    メンテナンスメニュー
      a. WSL環境のアップデート
      b. hugoのインストール
      c. キャンセル
    選択(a-c):"
    read -r select_method

    case $select_method in
      [aA]* )
        sudo apt update
        sudo apt upgrade
      ;;</br>[bB]* )
        echo -n "ダウンロードするhugoのバージョンを入力
        参考URL:https://github.com/gohugoio/hugo/releases
        0.xx.x 形式で入力:"
        read -r hugo_version
        wget "https://github.com/gohugoio/hugo/releases/download/v${hugo_version}/hugo_${hugo_version}_Linux-64bit.deb"
        sudo dpkg -i hugo*.deb
        rm hugo*.deb
      ;;</br>[cC]* )
        exit
      ;;
    esac
  ;;

  [3]* )
    exit
  ;;
esac

.htaccessファイルの同期

基本的にいじることが少ないのと、他のファイルとパーミッションが異なるので、別に管理しています。基本的な書き方は、前回説明したとおり。今回の場合 --delete--exclude=オプションを外し、パーミッションを604に指定、フォルダではなくファイルを指定して同期させてます。

rsync -avz --update --chmod=0604 ${HUGO_DIR}/htaccess/${HTACCESS_NAME} {ユーザ名}@{サーバアドレス}:{ホストのディレクトリ}.htaccess

メンテナンスメニュー

メンテナンスメニューでは、WSL環境のアップデートhugoのインストールを実行できるようにしています。

WSL環境のアップデートは、普通にWSL環境の更新です。

hugoのインストールについては、バージョンごとの機能の違いを確認することがあるので、結構使います。バージョンを指定して、ファイルをダウンロード、インストールしたら、ファイルを削除、という流れです。

次回は、ここまで4回に分けて紹介してきたスクリプトをまとめて、ひとつのスクリプトにしたものを紹介します。手抜き総集編みたいなもんです。

comments powered by Disqus
Googleブログ検索
Amazon検索
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。DQX内では "ぬここ" の中の人もやってます。好きなことをつらつらと書き留めてます。
"DQX@ぬここ(UD487-754)"
採用案内