Co-authored-by: sundapeng.sdp <sundapeng@hashdata.cn> Reviewed-on: #18 Reviewed-by: xuxt <xuxt@zgclab.edu.cn> Reviewed-by: yuyr <yuyr@zgclab.edu.cn> Reviewed-by: huhy <husteryezi@163.com>
38 lines
1.0 KiB
Bash
38 lines
1.0 KiB
Bash
#!/bin/bash
|
||
set -euo pipefail
|
||
|
||
echo "[INFO] Starting FTP server under supervisor..."
|
||
|
||
FTP_BASE_PATH=${FTP_BASE_PATH:-/private/argus/ftp}
|
||
DOMAIN=${DOMAIN:-ftp.metric.argus.com}
|
||
FTP_PASSWORD=${FTP_PASSWORD:-ZGClab1234!}
|
||
|
||
echo "[INFO] FTP base path: ${FTP_BASE_PATH}"
|
||
echo "[INFO] Domain: ${DOMAIN}"
|
||
echo "[INFO] Setting ftpuser password..."
|
||
|
||
# 设置ftpuser密码
|
||
echo "ftpuser:${FTP_PASSWORD}" | chpasswd
|
||
|
||
# 确保目录存在
|
||
mkdir -p ${FTP_BASE_PATH}/share
|
||
mkdir -p /private/argus/etc
|
||
mkdir -p /var/run/vsftpd/empty
|
||
|
||
# 直接使用挂载目录作为FTP根目录,无需软链接
|
||
echo "[INFO] Using ${FTP_BASE_PATH}/share as FTP root directory"
|
||
|
||
# 生成vsftpd配置文件
|
||
echo "[INFO] Generating vsftpd.conf with base path: ${FTP_BASE_PATH}"
|
||
sed "s|\${FTP_BASE_PATH}|${FTP_BASE_PATH}|g" \
|
||
/etc/vsftpd/vsftpd.conf > /tmp/vsftpd.conf
|
||
|
||
# 记录容器 IP
|
||
IP=$(ifconfig eth0 | awk '/inet /{print $2}' || hostname -i)
|
||
echo "current IP: ${IP}"
|
||
echo "${IP}" > /private/argus/etc/${DOMAIN}
|
||
|
||
# 启动vsftpd
|
||
echo "[INFO] Starting vsftpd..."
|
||
exec /usr/sbin/vsftpd /tmp/vsftpd.conf
|