みなさんこんにちは。WordPressの最新版、きちんと確認してますか?暑くてブラウザ開くのかったるい?それならコマンドラインで確認させ、最新版があったらメールで飛ばすようにしてみましょう。
まずはソースコードを見てみましょう。
#!/bin/bash set -e ## Environment DLSITE=http://ja.wordpress.org/ WPDIR=wordpress DLDIR=${HOME}/src/${WPDIR} DLFILE=latest-ja.tar.gz VFILE=${WPDIR}/wp-includes/version.php VERSION=${DLDIR}/version YYYYMMDD=$(date +%Y/%m/%d) MAILTO=root ## Initialize [ ! -d ${DLDIR} ] && mkdir -p ${DLDIR} cd ${DLDIR} ## Now Version record ls -l | egrep ^d | awk '{print $NF}' | egrep '(^[0-9].)' | tail -1 > ${VERSION} ## WordPress GET and Expand wget ${DLSITE}/${DLFILE} && tar xzf ${DLFILE} ${VFILE} > /dev/null 2>&1 VDIR=$(egrep '(^$wp_version)' ${VFILE} | awk '{print $NF}' | sed -e "s/'//g;s/;//g") [ ! -d ${VDIR} ] && mkdir -p ${VDIR} && mv ${DLFILE} ${VDIR} [ -d ${WPDIR} ] && rm -fr ${WPDIR} [ -f ${DLFILE} ] && rm -f ${DLFILE} [ -L current ] && rm -f current ln -s $(ls -l | egrep ^d | awk '{print $NF}' | tail -1) current ls -l | egrep ^d | tail -1 | awk '{print $NF}' | diff -y - ${VERSION} > /dev/null 2>&1 || ls -l | egrep ^d | tail -1 | awk '{print $NF}' | awk '{print "WordPress",$1,"Released"}' | ${mail} -s "${YYYYMMDD} WordPress Downloaded" ${MAILTO}
ダウンロード対象のファイルは http://ja.wordpress.org/latest-ja.tar.gz で、 ${HOME}/src/wordpress 以下にwgetでダウンロードします。最新バージョンかどうかを確認するために、一度アーカイブを展開し、 wp-includes/version.php の中身を見てバージョンの確認をします。
また、ダウンロードしたものが最新バージョンかどうかを確認したあとは、バージョン番号のディレクトリに「current」というシンボリックリンクを張る機能をつけ、過去にダウンロードしたものよりも最新版をダウンロードしてきたら、変数MAILTOに指定したメールアドレスへメール通知します。mkdirやegrep、、awk、sed、tail、ls、rm、diff、ln、tarコマンドは最初からインストールされていることが多いですが、wgetコマンドやmailコマンドは、それぞれwgetパッケージ、mailxパッケージがインストールされているか確認したほうがよいでしょう。
あとはcronに登録しておけば、ブラウザで確認しに行かなくてもWordPressの最新版を自動的に確認することができます。
ね、簡単でしょう?
[amazonjs asin="479736758X" locale="JP" title="本格ビジネスサイトを作りながら学ぶ WordPressの教科書"]