ITDB 是基于Web的资产清单管理工具,用于存储有关在办公环境中找到的资产的信息,重点是但不限于IT资产。–ITDB 官网描述

ITDB 配置

环境:Debian 10.2 ITDB 1.23 SQlite 2.8.17 PHP 7.3.11 apache 2.4

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
# 安装依赖
apt install php sqlite php7.3-sqlite3
# 检查 apache2 状态
systemctl status apache2
# Active: active (running)
# 浏览器访问服务器 ip 正常可看到 “Apache2 Debian Default Page” 页面

# 下载配置 itdb
mkdir -p /var/www/itdb && cd /var/www/itdb
wget https://github.com/sivann/itdb/archive/1.23.tar.gz
tar -xzf 1.23.tar.gz
# 配置相关权限
cd itdb-1.23/data && cp pure.db itdb.db
chown www-data itdb.db; chmod u+w itdb.db
chown www-data /var/www/itdb/itdb-1.23/data; chmod u+w /var/www/itdb/itdb-1.23/data/
chown www-data /var/www/itdb/itdb-1.23/data/files/; chmod u+w /var/www/itdb/itdb-1.23/data/files/
chown -R www-data /var/www/itdb/itdb-1.23/translations; chmod u+w /var/www/itdb/itdb-1.23/translations

# 配置 apache2 80 端口目录为 itdb 所在文件夹
cd /etc/apache2/sites-enabled
cp 000-default.conf itdb.conf && mv 000-default.conf 000-default.conf.backup

# sed 在文件 itdb.conf 寻找包含 DocumentRoot 的行
# 将该行 /var/www/html (/ 前要标注转义字符 \) 替换为 /var/www/html/itdb-1.23
sed -i '/DocumentRoot/s/\/var\/www\/html/\/var\/www\/itdb\/itdb-1.23/g' itdb.conf

# 重启 apache2
systemctl restart apache2

# 一些问题
# 错误提示:Open database Error!: could not find driver
# 安装 phpX-sqlite3 后重启服务即可,X 为 php 版本号

默认账号密码都为 andmin,可设置为中文。

安装新硬盘

备份到另一快硬盘

1
2
3
4
5
6
# 处理新硬盘
# 显示当前硬盘信息
lsblk
# 分区
fdisk /dev/sdb
# 成功新建分区后再次使用 lsblk 命令会看到新分区,如 sdb1

fdisk 命令说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 格式化分区
mkfs.ext4 /dev/sdb1

# 挂载分区到指定目录
mount /dev/sdb1 /root/Backup/

# 设置开机自动挂载
# 查看分区 UUID
blkid /dev/sdb1

# 添加一行配置,替换要设置的 UUID 挂载目录即可
nano /etc/fstab
# /dev/sdb1
# UUID=fd807142-6665-4282-8ac8-51313ccad6b1 /root/Backup ext4 defaults 0 1

配置邮箱提醒

安装 SMTP 客戶端 msmtp [3]

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
# 安装
apt install msmtp

# 配置
nano ~/.msmtprc

# 以腾讯企业邮箱为例
# 默认配置
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log

# 邮箱
account itdb
# 发件服务器
host smtp.exmail.qq.com
port 587
# 邮箱地址,两项一致
from [email protected]
user [email protected]
# 邮箱密码
password xxx

# 默认发件账号
account default : itdb


# 密码是明文,设置权限
chmod 600 ~/.msmtprc

# 发送到 [email protected] 测试
echo "hello there username." | msmtp -a default [email protected]

配置 mutt 发送附件 [4]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apt install mutt

# 配置
nano /etc/Muttrc


set sendmail="/usr/bin/msmtp"
set use_from=yes
# 用户名
set realname=xx
# 发送邮箱
set [email protected]
set envelope_from=yes
set editor="naoo"
# 防止MUTT发送中文乱码
set charset="utf-8"
set rfc2047_parameters=yes


# 测试
echo "This is test email" | mutt -s "Test send mail" 收件人(多个可逗号隔开) -c 抄送人 -a 附件 < 导入文件内容发送.txt

脚本定时运行

使用 system/timer 定时运行

每晚执行备份

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
# 服务
echo > /usr/lib/systemd/system/itdb-date-backup.service << EOF
[Unit]
Description=itdb date backup

[Service]
ExecStart=/bin/bash /path/to/itdb-date-backup.sh
EOF

# 定时器每晚凌晨 3 点执行
echo > /usr/lib/systemd/system/itdb-date-backup.timer << EOF
[Unit]
Description=itdb date backup every nigth

[Timer]
OnUnitActiveSec=*-*-* 03:00:00
Unit=itdb-date-backup.service

[Install]
WantedBy=multi-user.target
EOF

# 启动
systemctl start itdb-date-backup.timer
# 开机自启
systemctl enable itdb-date-backup.timer

参考拓展

1 ITDB - IT ITems DataBase

2 fdisk 命令说明

3 msmtp

4 Mutt (简体中文)

6 debian+msmtp+mutt 发送邮件 支持抄送 附件

7 Systemd 定时器教程