見出し画像

予約投稿は cron で解決

1月1日午前0時に新年の挨拶を公開して欲しい。というクライアントさんの要望を叶えるため、必死で Chromebook に Next.js の開発環境を構築した、あわてんぼうのおばちゃんです。

おばちゃんの行動は、できる方にはアホに見えるかもしれませんが、まあ、そのままだから仕方ない。

ところで、1月も中旬になった今更ながら解決方法がわかりました。

前から予約投稿は、Git アクション、Git フック、cron のどれかで出来るような雰囲気は感じていましたが、敷居が高くてなかなか手が出なかったのです。

今回試したのは、レンタルサーバー(Xserver)の cron を使った方法。

↑ こちらの設定で運用しているウェブサイトなので、Git フックの post-receive で pull させていたのを、(予約投稿時のみ) cron で pull  させます。

まず、シェルスクリプトのファイル(booking-post.sh)を作って、以下の内容を書き、

#!/bin/sh

cd ~/example.com/public_html
git --git-dir=.git pull ~/example.com/repo.git main

Xserver のサーバー内にファイル(booking-post.sh)を置く。

/home/obachan/example.com/booking-post.sh

ファイル(booking-post.sh)のパーミッションを755に変更する。

いよいよ、Xserver の管理画面で cron の設定。

0 0 1 1 * /home/obachan/example.com/booking-post.sh

これで、Xserver の Git の共有リポジトリに前もって push しておいた新年の挨拶が、毎年1月1日0時0分に公開ディレクトリの Git リポジトリに pull されて公開できます。(やったー!)

まあ、来年まで使わないけどね。

WEBデザイナー(自営業)のおばちゃんです。最近はBlenderネタ多めです。