46 lines
1.1 KiB
Bash
Executable File
46 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o errexit -o nounset -o pipefail
|
|
|
|
./validate-static
|
|
./process-static
|
|
|
|
servers=(
|
|
0.grapheneos.org
|
|
1.grapheneos.org
|
|
)
|
|
|
|
for server in ${servers[@]}; do
|
|
echo $server
|
|
|
|
remote=root@$server
|
|
active=$(ssh $remote readlink /srv/grapheneos.org)
|
|
|
|
if [[ $active = /srv/grapheneos.org_a ]]; then
|
|
target=/srv/grapheneos.org_b
|
|
else
|
|
target=/srv/grapheneos.org_a
|
|
fi
|
|
|
|
echo active is $active
|
|
echo target is $target
|
|
echo
|
|
|
|
ssh $remote rm -rf $target
|
|
ssh $remote cp -a $active $target
|
|
rsync -rpcv --chmod=D755,F644 --delete static_tmp/ $remote:$target
|
|
ssh $remote sync -f $target
|
|
ssh $remote ln -snf $target /srv/grapheneos.org
|
|
ssh $remote sync /srv/grapheneos.org
|
|
|
|
cp nginx.conf.tmp nginx.conf.root.tmp
|
|
sed -i "s|/srv/grapheneos.org|$target|" nginx.conf.root.tmp
|
|
rsync -rpcv --chmod=D755,F644 --delete nginx.conf.root.tmp $remote:/etc/nginx/nginx.conf
|
|
ssh $remote sync -f /etc/nginx/nginx.conf
|
|
ssh $remote nginx -s reload
|
|
|
|
echo
|
|
echo active is now $target
|
|
echo
|
|
done
|