もっと自動化

This commit is contained in:
2026-05-20 01:12:56 +09:00
parent 62326874ce
commit f315fa45ef
23 changed files with 406 additions and 141 deletions

View File

@@ -4,13 +4,14 @@ checker=$(rcctl check relayd)
if [ "$checker" = 'relayd(failed)' ]; then
DATE=$(date +"%Y年%m月%d日")
IP=$(ifconfig wg0 | awk '/inet / {print $2; exit}')
echo "192.168.10.106 relaydがクラッシュにより再起動されました。 (${DATE})
echo "${IP} relaydがクラッシュにより再起動されました。 (${DATE})
---------------
" > /root/relayd.txt
/etc/rc.d/relayd restart >> /root/relayd.txt
cat /root/relayd.txt | mail -s "192.168.10.106 relayd再起動 (${DATE})" reports@076.ne.jp
cat /root/relayd.txt | mail -s "${IP} relayd再起動 (${DATE})" reports@076.ne.jp
rm -rf /root/relayd.txt
fi

View File

@@ -18,6 +18,10 @@ HOME=/var/log
#~ * * * * -ns rpki-client -v && bgpctl reload
0 2 * * 0 /root/update_certs.sh
0 6 * * 1 /root/go-update.sh
0 6 * * 4 /root/go-update.sh
0 6 * * 3 /root/zig-update.sh
0 6 * * 6 /root/zig-update.sh
0 8 * * 2 /root/update_pkgs.sh
0 8 * * 5 /root/update_pkgs.sh
*/5 * * * * /root/check_relayd.sh

View File

@@ -1,19 +1,48 @@
#!/bin/sh
export SER="126"
export VER="1.26.3"
export ARC="amd64"
export OS="openbsd"
OS="$(uname -s)"
case "$OS" in
FreeBSD) OS="freebsd" ;;
OpenBSD) OS="openbsd" ;;
Linux) OS="linux" ;;
Darwin) OS="macos" ;;
*) exit 1;;
esac
wget https://go.dev/dl/go$VER.$OS-$ARC.tar.gz
tar zxfv go$VER.$OS-$ARC.tar.gz
rm -rf /usr/local/go$SER
mv go /usr/local/go$SER
ln -s /usr/local/go$SER/bin/go /usr/local/bin/go$SER
ln -s /usr/local/go$SER/bin/gofmt /usr/local/bin/gofmt$SER
rm -rf /usr/local/bin/go
rm -rf /usr/local/bin/gofmt
ln -s /usr/local/bin/go$SER /usr/local/bin/go
ln -s /usr/local/bin/gofmt$SER /usr/local/bin/gofmt
go version
rm -rf go$VER.$OS-$ARC.tar.gz
ARC="$(uname -m)"
case "$ARC" in
x86_64|amd64) ARC="amd64" ;;
aarch64|arm64) ARC="arm64" ;;
*) exit 1 ;;
esac
IP=$(ifconfig wg0 | awk '/inet / {print $2; exit}')
FVER=$(wget -qO- https://go.dev/VERSION?m=text | head -n1)
VER=${FVER#go}
SER=$(echo "$VER" | sed 's/\([0-9]*\)\.\([0-9]*\).*/\1\2/')
CURVER=$(go env GOVERSION | cut -c3-)
DATE=$(date +"%Y年%m月%d日")
echo "${IP} サーバーGoバージョンが更新されました。${DATE}
---------------
" > /root/go.txt
if [ "$VER" = "$CURVER" ]; then
echo "最新Goバージョンが既にインストールされています。" >> /root/go.txt
else
wget https://go.dev/dl/go$VER.$OS-$ARC.tar.gz >> /root/go.txt
tar zxfv go$VER.$OS-$ARC.tar.gz >> /root/go.txt
rm -rfv /usr/local/go$SER >> /root/go.txt
mv -v go /usr/local/go$SER >> /root/go.txt
ln -s /usr/local/go$SER/bin/go /usr/local/bin/go$SER
ln -s /usr/local/go$SER/bin/gofmt /usr/local/bin/gofmt$SER
rm -rfv /usr/local/bin/go >> /root/go.txt
rm -rfv /usr/local/bin/gofmt >> /root/go.txt
ln -s /usr/local/bin/go$SER /usr/local/bin/go
ln -s /usr/local/bin/gofmt$SER /usr/local/bin/gofmt
go version >> /root/go.txt
rm -rfv go$VER.$OS-$ARC.tar.gz >> /root/go.txt
fi
cat /root/go.txt | mail -s "${IP} Goバージョン更新 (${DATE})" reports@076.ne.jp
rm -rf /root/go.txt

View File

@@ -1,8 +1,9 @@
#!/bin/sh
DATE=$(date +"%Y年%m月%d日")
IP=$(ifconfig wg0 | awk '/inet / {print $2; exit}')
echo "192.168.10.106 SSL証明書が更新されました。 (${DATE})
echo "${IP} SSL証明書が更新されました。 (${DATE})
---------------
" > /root/cert.txt
@@ -26,5 +27,5 @@ cp -v /etc/ssl/private/076.moe.key /etc/prosody/certs/ >> /root/cert.txt
/etc/rc.d/httpd start >> /root/cert.txt
/etc/rc.d/prosody restart >> /root/cert.txt
cat /root/cert.txt | mail -s "192.168.10.106 SSL証明書更新 (${DATE})" reports@076.ne.jp
cat /root/cert.txt | mail -s "${IP} SSL証明書更新 (${DATE})" reports@076.ne.jp
rm -rf /root/cert.txt

View File

@@ -1,13 +1,14 @@
#!/bin/sh
DATE=$(date +"%Y年%m月%d日")
IP=$(ifconfig wg0 | awk '/inet / {print $2; exit}')
echo "192.168.10.106 サーバーパッケージが更新されました。 (${DATE})
echo "${IP} サーバーパッケージが更新されました。 (${DATE})
---------------
" > /root/pkg.txt
/usr/sbin/pkg_add -ui >> /root/pkg.txt
/usr/sbin/syspatch >> /root/pkg.txt
cat /root/pkg.txt | mail -s "192.168.10.106 パッケージ更新 (${DATE})" reports@076.ne.jp
cat /root/pkg.txt | mail -s "${IP} パッケージ更新 (${DATE})" reports@076.ne.jp
rm -rf /root/pkg.txt

View File

@@ -1,15 +1,45 @@
#!/bin/sh
export VER="0.16.0"
export ARC="x86_64"
export OS="openbsd"
OS="$(uname -s)"
case "$OS" in
FreeBSD) OS="freebsd" ;;
OpenBSD) OS="openbsd" ;;
Linux) OS="linux" ;;
Darwin) OS="macos" ;;
*) exit 1;;
esac
wget https://ziglang.org/download/$VER/zig-$ARC-$OS-$VER.tar.xz
xzcat zig-$ARC-$OS-$VER.tar.xz | tar xf -
cd zig-$ARC-$OS-$VER
rm -rf /usr/local/lib/zig
mv lib /usr/local/lib/zig
mv zig /usr/local/bin
cd ..
rm -rf zig-$ARC-$OS-$VER zig-$ARC-$OS-$VER*
zig version
ARC="$(uname -m)"
case "$ARC" in
x86_64|amd64) ARC="x86_64" ;;
aarch64|arm64) ARC="aarch64" ;;
*) exit 1 ;;
esac
IP=$(ifconfig wg0 | awk '/inet / {print $2; exit}')
VER=$(wget -qO- https://ziglang.org/download/index.json |
sed 's/[",:]//g' |
awk '/^[[:space:]]*[0-9]+\.[0-9]+/ {print $1; exit}')
CURVER=$(zig version)
DATE=$(date +"%Y年%m月%d日")
echo "${IP} サーバーZigバージョンが更新されました。${DATE}
---------------
" > /root/zig.txt
if [ "$VER" = "$CURVER" ]; then
echo "最新Zigバージョンが既にインストールされています。" >> /root/zig.txt
else
wget https://ziglang.org/download/$VER/zig-$ARC-$OS-$VER.tar.xz >> /root/zig.txt
xzcat zig-$ARC-$OS-$VER.tar.xz | tar xf - >> /root/zig.txt
cd zig-$ARC-$OS-$VER
rm -rfv /usr/local/lib/zig >> /root/zig.txt
mv -v lib /usr/local/lib/zig >> /root/zig.txt
mv -v zig /usr/local/bin >> /root/zig.txt
rm -rfv zig-$ARC-$OS-$VER zig-$ARC-$OS-$VER.tar.xz >> /root/zig.txt
zig version >> /root/zig.txt
echo "Zigバージョンを更新に成功です。" >> /root/zig.txt
fi
cat /root/zig.txt | mail -s "${IP} Zigバージョン更新 (${DATE})" reports@076.ne.jp
rm -rf /root/zig.txt