![見出し画像](https://assets.st-note.com/production/uploads/images/127421076/rectangle_large_type_2_67d4b8ee99c8b9617a4f1e153fe7ef5a.png?width=1200)
予約投稿は 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 の設定。
![](https://assets.st-note.com/img/1705046785035-Dv2mWu04ma.png?width=1200)
0 0 1 1 * /home/obachan/example.com/booking-post.sh
これで、Xserver の Git の共有リポジトリに前もって push しておいた新年の挨拶が、毎年1月1日0時0分に公開ディレクトリの Git リポジトリに pull されて公開できます。(やったー!)
まあ、来年まで使わないけどね。
WEBデザイナー(自営業)のおばちゃんです。最近はBlenderネタ多めです。