Debian系统使用systemd管理服务,可通过以下命令查看FTP服务(如vsftpd或proftpd)的运行状态,包括是否启动、启动时间、主进程ID及错误信息:
sudo systemctl status vsftpd # 若使用vsftpd
# 或
sudo systemctl status proftpd # 若使用proftpd
若服务正在运行,输出会显示“Active: active (running)”;若未运行,可使用sudo systemctl start vsftpd启动服务。
FTP默认使用21端口(若修改过端口需替换为实际端口),可通过以下命令验证端口是否处于监听状态:
sudo netstat -tuln | grep :21
sudo ss -tuln | grep :21
若端口正在监听,输出会显示LISTEN状态(如tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN)。
通过lsof命令可查看哪些进程正在使用FTP端口(21端口),确认FTP服务进程是否存在:
sudo lsof -i :21
输出会显示进程名称(如vsftpd)、进程ID(PID)、用户及网络连接信息,帮助确认FTP服务是否正常运行。
FTP日志记录了用户登录、文件传输等活动,是排查问题的关键依据。默认日志路径如下:
/var/log/vsftpd.log/var/log/proftpd/proftpd.log使用以下命令查看日志:
sudo tail -f /var/log/vsftpd.log # 实时监控vsftpd日志
# 或
sudo less /var/log/proftpd/proftpd.log # 查看proftpd日志
可通过grep过滤特定信息(如用户“user1”的活动):
sudo grep 'user1' /var/log/vsftpd.log
若需要持续监控FTP服务器状态(如服务可用性、响应时间、流量),可使用专业工具:
vsftpd进程状态,当进程崩溃时自动重启:sudo nano /etc/monit/conf.d/vsftpd # 添加配置
# 示例配置:
check process vsftpd with pidfile /var/run/vsftpd/vsftpd.pid
start program = "/etc/init.d/vsftpd start"
stop program = "/etc/init.d/vsftpd stop"
if failed port 21 protocol ftp then restart
sudo service monit restart # 重启monit生效