溫馨提示×

Ubuntu FTP Server如何自動重啟

小樊
41
2025-10-15 00:15:49
欄目: 智能運維

Ubuntu FTP Server(以vsftpd為例)自動重啟設置方法

一、使用systemd服務(推薦,原生支持)

systemd是Ubuntu默認的服務管理工具,可通過配置實現FTP服務開機自啟崩潰自動重啟,是最穩定、高效的解決方案。

1. 安裝vsftpd(若未安裝)

sudo apt update
sudo apt install vsftpd

2. 啟用并啟動vsftpd服務

sudo systemctl enable vsftpd  # 設置開機自啟
sudo systemctl start vsftpd   # 立即啟動服務

3. 配置自動重啟參數(關鍵步驟)

編輯vsftpd的systemd服務文件,添加Restart相關配置:

sudo nano /etc/systemd/system/vsftpd.service.d/restart.conf

在文件中添加以下內容(若文件不存在,可直接創建):

[Unit]
Description=vsftpd FTP Server (Auto Restart)
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf
Restart=on-failure  # 服務崩潰時自動重啟(非正常退出,如代碼錯誤、崩潰)
RestartSec=5        # 重啟間隔時間(秒),避免頻繁重啟
User=vsftpd
Group=vsftpd

[Install]
WantedBy=multi-user.target

注:若系統未自動創建vsftpd.service.d目錄,可手動創建:sudo mkdir -p /etc/systemd/system/vsftpd.service.d

4. 重新加載systemd配置并驗證

sudo systemctl daemon-reload  # 使新配置生效
sudo systemctl status vsftpd  # 檢查服務狀態(需顯示"active (running)")

通過systemctl status命令可查看Restart配置是否生效(如顯示"Restart=on-failure")。

二、使用cron任務(備選,簡單但不夠靈活)

若不想修改systemd配置,可通過cron定時任務定期重啟FTP服務,但無法針對“崩潰”場景精準恢復。

1. 編輯當前用戶的crontab

crontab -e

2. 添加定時重啟任務

在文件末尾添加以下內容(示例:每5分鐘重啟一次,可根據需求調整時間間隔):

*/5 * * * * /usr/sbin/service vsftpd restart

保存并退出(按Ctrl+XYEnter)。

3. 驗證cron任務

sudo systemctl status cron  # 確保cron服務運行
grep CRON /var/log/syslog   # 查看cron日志(確認重啟任務是否執行)

注意事項

  1. 優先使用systemd:cron任務無法判斷服務是否“真正崩潰”(如進程卡死但未退出),僅能定時重啟,可能影響服務穩定性;而systemd的Restart=on-failure能精準識別崩潰場景,更符合自動恢復需求。
  2. 檢查配置文件語法:修改/etc/vsftpd.conf后,需重啟服務使更改生效:sudo systemctl restart vsftpd。
  3. 防火墻設置:若服務器啟用了UFW防火墻,需允許FTP端口(21/tcp)和被動模式端口范圍(如40000-50000/tcp):
    sudo ufw allow 21/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw reload
    

通過上述方法,Ubuntu上的vsftpd服務可實現自動重啟,保障FTP服務的持續可用性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女