日時を予約して差分ファイルを一括でデプロイする超シンプルなスクリプト
crontab などで10分に1回 release.sh を起動してください
*/10 * * * * $HOME/release.sh >> $HOME/release.log
release_dir の配下に、2018-12-05-18-10 という日時形式のディレクトリを作ると
該当の時刻に同期されます。
release.sh
#!/bin/bash
home_dir="/var/www"
release_dir="/var/reserve"
if [ $# -ge 1 ]; then
#force release
today=$1
else
#timer release
today=`date +%F-%H-%M | sed -e s/.$/0/g`
fi
if [ -d ${release_dir}/${today} ]; then
echo ${release_dir}/${today}
echo $home_dir
rsync -rlptgDv ${release_dir}/${today}/* $home_dir
else
echo "none: ${release_dir}/${today}"
fi