diff --git a/scripts/deploy.sh b/scripts/deploy.sh index d0d2680..544ffcb 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -126,7 +126,29 @@ fi CONFIG_DIR="$WORK_DIR/config" log_info "Creating config directory: $CONFIG_DIR" mkdir -p $CONFIG_DIR -cp -r "${PROJECT_ROOT}/config/"* "$CONFIG_DIR/" +log_info "Copying configuration files..." +for config_file in system_config.json vehicle_control.json airport_bounds.json intersections.json; do + if [ ! -f "${PROJECT_ROOT}/config/$config_file" ]; then + log_error "Config file not found: ${PROJECT_ROOT}/config/$config_file" + exit 1 + fi + if ! cp -v "${PROJECT_ROOT}/config/$config_file" "$CONFIG_DIR/"; then + log_error "Failed to copy config file: $config_file" + exit 1 + fi +done + +# 设置配置文件权限 +log_info "Setting config file permissions..." +chmod 644 "$CONFIG_DIR"/*.json +chown -R root:root "$CONFIG_DIR" + +# 验证配置文件 +log_info "Verifying config files..." +if ! ls -l "$CONFIG_DIR"/*.json; then + log_error "No config files found in $CONFIG_DIR" + exit 1 +fi # Install Python packages log_info "Installing Python packages..." @@ -147,12 +169,14 @@ After=network.target [Service] Type=simple ExecStart=$WORK_DIR/bin/collision_avoidance -WorkingDirectory=$WORK_DIR/bin +WorkingDirectory=$WORK_DIR User=root Restart=always RestartSec=3 Environment=CONFIG_PATH=$WORK_DIR/config Environment=LD_LIBRARY_PATH=$WORK_DIR/lib +StandardOutput=append:/var/log/collision-avoidance.log +StandardError=append:/var/log/collision-avoidance.error.log [Install] WantedBy=multi-user.target @@ -201,4 +225,11 @@ echo " Check status: systemctl status collision-avoidance" echo " View logs: journalctl -u collision-avoidance -f" echo -e "\nConfig files location: ${CONFIG_DIR}" echo "WebSocket port: 8010" -echo "Mock Server port: 8081" \ No newline at end of file +echo "Mock Server port: 8081" + +# 创建日志文件 +log_info "Creating log files..." +touch /var/log/collision-avoidance.log +touch /var/log/collision-avoidance.error.log +chmod 644 /var/log/collision-avoidance*.log +chown root:root /var/log/collision-avoidance*.log \ No newline at end of file