Dokcer安装TDengine
你好呀,我的老朋友!我是老寇,欢迎来到老寇IoT云平台!
# Docker安装
services:
# web控制台地址:http://127.0.0.1:6060
# root/taosdata
tdengine:
image: tdengine/tdengine:3.3.6.13
container_name: tdengine
# 保持容器在没有守护程序的情况下运行
tty: true
restart: always
privileged: true
ports:
- "6030-6060:6030-6060/udp"
- "6030-6060:6030-6060"
environment:
- TZ=Asia/Shanghai
volumes:
- ./tdengine/data:/var/lib/taos
- ./tdengine/logs:/var/log/taos
- /home/a/app/backup:/backup/tdengine
networks:
- iot_network
networks:
iot_network:
driver: bridge
访问 http://localhost:6060 自行修改密码
# 数据备份
需要创建 iot_db 数据库
tdengine-backup.sh
#!/bin/bash
TAOS_HOST="127.0.0.1"
TAOS_PORT="6030"
TAOS_USER="root"
TAOS_PASSWORD="taosdata"
BACKUP_ROOT="/home/a/app/backup/tdengine"
DIR_NAME="iot_db_$(date +%Y%m%d_%H%M%S)"
BACKUP_DIR="${BACKUP_ROOT}/${DIR_NAME}"
DOCKER_DIR="/backup/tdengine/${DIR_NAME}"
mkdir -p "${BACKUP_ROOT}"
mkdir -p "${BACKUP_DIR}"
echo "开始备份 iot_db..."
echo "备份目录:${BACKUP_DIR}"
docker exec -i tdengine taosdump \
-h "${TAOS_HOST}" \
-P "${TAOS_PORT}" \
-u "${TAOS_USER}" \
-p"${TAOS_PASSWORD}" \
-D iot_db \
-o "${DOCKER_DIR}"
if [ $? -eq 0 ]; then
echo "备份成功:${BACKUP_DIR}"
# 删除除当前备份之外的所有旧备份
find "${BACKUP_ROOT}" \
-maxdepth 1 \
-mindepth 1 \
-type d \
-name "iot_db_*" \
! -path "${BACKUP_DIR}" \
-exec rm -rf {} \;
echo "旧备份已删除"
else
echo "备份失败"
# 删除本次失败产生的不完整备份
rm -rf "${BACKUP_DIR}"
exit 1
fi
# 备份
mkdir -p /home/a/app
chmod +x /home/a/app/tdengine-backup.sh
crontab -e
# 每周日凌晨2点执行
0 2 * * 0 /home/a/app/tdengine-backup.sh >> /var/log/tdengine-backup.log 2>&1
crontab -l
# 查看cron状态
systemctl status cron
# 恢复
docker exec tdengine taosdump \
-h 127.0.0.1 \
-P 6030 \
-u root \
-ptaosdata \
-D iot_db \
-i /backup/tdengine/iot_db_xxx_xxx
# 数据时效
# 保留两年
ALTER DATABASE iot_db KEEP 730d;
我是老寇,我们下次再见啦!
上次更新: 11/7/2026, 12:47:16 PM