Website Management Script

Richard Yang Lv2

越懒惰越勤奋,自动化真是懒人福音

部署删除脚本

一共用了两个脚本,以及一个列表(用于存放服务项),感觉有点模块化?
之后只用在列表里添加项目,以及创建一个命名相同的目录,再在目录里放一个docker-compose.yaml文件即可。

create-service.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

if [ -f "scripts/.env" ]; then
source scripts/.env
fi

SERVICE="$1"

create_container() {
local target="$1"
for service in "${SERVICES[@]}"; do
if [[ "$service" == "$target" ]]; then
echo "Processing service: $service"
cd $service && sudo docker compose up -d && cd ..
return 0
fi
done

echo "Service not found: $target"
return 1
}

create_all_containers() {
for service in "${SERVICES[@]}"; do
echo "Processing service: $service"
cd $service && sudo docker compose up -d && cd .. 2>/dev/null || echo "Failed to process service: $service"
done
}

if [[ "$SERVICE" == "all" ]]; then
create_all_containers
else
create_container "$SERVICE"
fi
delete-service.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash

if [ -f "scripts/.env" ]; then
source scripts/.env
fi

SERVICE="$1"

delete_container() {
local target="$1"
for service in "${SERVICES[@]}"; do
if [[ "$service" == "$target" ]]; then
echo "Processing service: $service"
sudo docker stop $service && sudo docker rm $service
return 0
fi
done

echo "Service not found: $target"
return 1
}

delete_all_containers() {
for service in "${SERVICES[@]}"; do
echo "Processing service: $service"
sudo docker stop $service 2>/dev/null && sudo docker rm $service 2>/dev/null || echo "Failed to process service: $service"
done
}

if [[ "$SERVICE" == "all" ]]; then
delete_all_containers
else
delete_container "$SERVICE"
fi
.env
1
2
3

SERVICES=("hexo" "nginx")

备份打包脚本

设置个定时,自动执行该脚本,至于如何设置,不是这里应该解决的QWQ。

packed-files.sh
1
2
3
4
5
6
7
8
9
#!/bin/bash

if [ -f "scripts/.env" ]; then
source scripts/.env
fi

rm -rf backup-docker.tar.gz
tar -czvf backup-docker.tar.gz "${SERVICES[@]}" scripts

  • Title: Website Management Script
  • Author: Richard Yang
  • Created at : 2023-03-08 10:54:43
  • Updated at : 2026-01-03 16:59:27
  • Link: http://www.yremmmm.com/2023/03/08/Website-Management-Script/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
Website Management Script