- [x] 完成log模块镜像构建、本地端到端写日志——收集——查询流程; - [x] 完成bind模块构建; - [x] 内置域名IP自动更新脚本,使用 /private/argus/etc目录下文件进行同步,容器启动时自动写IP,定时任务刷新更新DNS服务器IP和DNS规则; Co-authored-by: root <root@curious.host.com> Reviewed-on: #8 Reviewed-by: sundapeng <sundp@mail.zgclab.edu.cn>
41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Set /private permissions to 777 as requested
|
|
chmod 777 /private 2>/dev/null || true
|
|
|
|
# Create persistent directories for BIND9 configs and DNS sync
|
|
mkdir -p /private/argus/bind
|
|
mkdir -p /private/argus/etc
|
|
|
|
# Copy configuration files to persistent storage if they don't exist
|
|
if [ ! -f /private/argus/bind/named.conf.local ]; then
|
|
cp /etc/bind/named.conf.local /private/argus/bind/named.conf.local
|
|
fi
|
|
|
|
if [ ! -f /private/argus/bind/db.argus.com ]; then
|
|
cp /etc/bind/db.argus.com /private/argus/bind/db.argus.com
|
|
fi
|
|
|
|
# Copy update-dns.sh to /private/argus/etc/
|
|
cp /usr/local/bin/update-dns.sh /private/argus/etc/update-dns.sh
|
|
chown bind:bind /private/argus/etc/update-dns.sh
|
|
chmod a+x /private/argus/etc/update-dns.sh
|
|
|
|
# Create symlinks to use persistent configs
|
|
ln -sf /private/argus/bind/named.conf.local /etc/bind/named.conf.local
|
|
ln -sf /private/argus/bind/db.argus.com /etc/bind/db.argus.com
|
|
|
|
# Set proper ownership
|
|
chown bind:bind /private/argus/bind/named.conf.local /private/argus/bind/db.argus.com
|
|
|
|
# 记录容器ip地址更新到dns.conf
|
|
IP=`ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}'`
|
|
echo current IP: ${IP}
|
|
echo ${IP} > /private/argus/etc/dns.conf
|
|
|
|
# Create supervisor log directory
|
|
mkdir -p /var/log/supervisor
|
|
|
|
# Start supervisor
|
|
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|