抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

对一些踩过的坑或者遇到的事情的总结,还有一些常用命令这些(也是为了方便我自己查看)

问题类

Load Average 高但 CPU 占用低

可能是有某个进程卡在 I/O wait 了,下面命令列出一些可疑的进程

1
top -b -n 1 | awk '{if (NR <=7) print; else if ($8 == "D") {print; count++} } END {print "Total status D (I/O wait probably): "count}'

但是 kill 对这类进程可能没用,甚至都能给你把重启卡住

Bitwarden vault_log.mdf 文件过大

先备份
然后在 ./bwdata/env/mssql.override.env 中找到你的数据库 SA 密码
之后手动链接数据库

1
2
docker exec -it bitwarden-mssql bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '你的数据库密码'

在数据库中,对日志文件进行 rotate

1
2
3
4
5
6
7
8
9
USE vault;
GO
-- 将恢复模式更改为 SIMPLE
ALTER DATABASE vault SET RECOVERY SIMPLE;
GO
-- 收缩日志文件 (通常逻辑名为 vault_log)
DBCC SHRINKFILE (vault_log, 1);
GO
EXIT

之后数据库将会变为 simple 模式,日志文件大小会变小,如果你需要高可用性,可以将数据库改为 full 模式

1
2
3
4
5
USE vault;
GO
ALTER DATABASE vault SET RECOVERY FULL;
GO
EXIT

小技巧

获取默认 netdev (v6)

1
ip -6 route show default | head -n 1 | sed 's/.*dev \([^ ]*\).*/\1/'

快速生成一堆 ip

1
2
3
4
5
6
7
netdev=$(ip -6 route show default | head -n 1 | sed 's/.*dev \([^ ]*\).*/\1/')
prefix=$(ip -6 addr show dev "$NETDEV" scope global | awk '/inet6/ {print $2; exit}' | cut -d/ -f1 | cut -d: -f1-4):
for i in {1..5}; do
suffix=$(printf '%x:%x:%x:%x' $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)))
echo adding ip: $prefix$suffix
sudo ip -6 addr add $prefix$suffix/64 dev $netdev
done

更新类

bitwarden

在 bitwarden 安装目录下(例如) /opt/bitwarden
按照官方教程,应该是创建了一个 bitwarden 用户

1
2
sudo -u bitwarden ./bitwarden.sh updateself
sudo -u bitwarden ./bitwarden.sh update

备份类

bitwarden

bitwarden 最重要的是 bwdata 目录里的内容,就在安装目录下(例如 /opt/bitwarden
在要生成备份的地方运行下面的命令,后面是你 bwdata 的位置

1
tar cvf bitwarden-backup.tar /opt/bitwarden/bwdata/

forgejo

按照官方教程,forgejo 应该是 git 用户在运行,则用下面的命令 dump 数据库和存储库
后面的是你 forgejo 的配置文件位置

1
sudo -u git forgejo dump --config /etc/forgejo/app.ini