62 lines
2.3 KiB
Bash
62 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# initial the system
|
|
|
|
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
|
export PATH
|
|
|
|
|
|
# step 0: prepare
|
|
|
|
github_project="docker/compose"
|
|
tag=$(wget -qO- -t1 -T2 "https://api.github.com/repos/${github_project}/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
|
|
|
|
|
# step 1: install
|
|
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf #修改系统变量
|
|
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf #修改系统变量
|
|
sysctl -p #保存生效
|
|
sysctl net.ipv4.tcp_available_congestion_control #执行
|
|
|
|
apt -y install sudo wget curl ufw screen vim git python3-pip
|
|
curl -fsSL https://get.docker.com | bash -s docker >${PWD}/step1 2>&1
|
|
curl -L https://github.com/docker/compose/releases/download/${tag}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
|
|
echo "step 1: install has finished"
|
|
|
|
|
|
# step 2: localize
|
|
useradd -d /home/skf -m SkF%16_6
|
|
usermod -s /bin/bash SkF%16_6
|
|
usermod -aG sudo SkF%16_6 # 有些发行版 RN 的就没有sudo adm
|
|
usermod -aG adm SkF%16_6
|
|
usermod -aG docker SkF%16_6 && newgrp docker
|
|
echo `groups SkF%16_6`
|
|
|
|
timedatectl set-timezone Asia/Shanghai
|
|
echo `date`
|
|
|
|
echo "step 2: localize has finished"
|
|
|
|
|
|
# step 3: monitor
|
|
mkdir -p ~SkF%16_6/myserve/serverstatus && wget --no-check-certificate -qO ~SkF%16_6/myserve/serverstatus/client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py'
|
|
chown -R SkF%16_6:SkF%16_6 ~SkF%16_6/myserve
|
|
|
|
nohup python3 ~SkF%16_6/myserve/serverstatus/client-linux.py SERVER=serverstatus.ahfei.blog USER=ahfei-${1} PASSWORD=A23456.. >/dev/null 2>&1 &
|
|
|
|
echo "@reboot python3 /root/myserve/serverstatus/client-linux.py SERVER=serverstatus.ahfei.blog USER=ahfei-${1} PASSWORD=A23456.. >/dev/null 2>&1" >> /var/spool/cron/crontabs/SkF%16_6
|
|
|
|
echo "step 3: monitor has finished"
|
|
|
|
|
|
# step 4: test cpu net etc
|
|
wget https://cdn.geekbench.com/Geekbench-5.4.5-Linux.tar.gz && \
|
|
tar -xzvf Geekbench-*.tar.gz && rm Geekbench-*.tar.gz && \
|
|
mv Geek*/* ./ && rmdir Geekbench-* && \
|
|
echo "now geekbench5!"
|
|
./geekbench5 > result_geekbench5.txt
|
|
|
|
docker run -d -e MODE=standalone -p 88:80 -it adolfintel/speedtest
|
|
echo "`ifconfig eth0 | head -n2 | grep inet | awk '{print$2}'`:88" >> result_geekbench5.txt
|
|
|
|
echo "step 4: test has finished"
|