在 CentOS 系统中,要设置 vsftpd 服务在意外停止后自动重启,您可以使用 systemd 的功能来实现。以下是具体步骤:
确保 vsftpd 已安装: 首先,确保您的系统上已经安装了 vsftpd。如果尚未安装,可以使用以下命令进行安装:
sudo yum install vsftpd
启用 vsftpd 服务: 使用 systemctl 启用并启动 vsftpd 服务:
sudo systemctl enable vsftpd
sudo systemctl start vsftpd
设置 vsftpd 开机自启:
上面的 enable 命令实际上已经设置了 vsftpd 在开机时自动启动。但您可以再次确认其状态:
sudo systemctl is-enabled vsftpd
如果输出为 enabled,则表示 vsftpd 已设置为开机自启。
配置 vsftpd 自动重启策略(可选): 如果您希望 vsftpd 在崩溃或停止时自动重启,可以设置重启策略。使用以下命令查看当前的失败重启策略:
sudo systemctl get-default vsftpd
默认情况下,大多数服务使用 simple 策略,这意味着不会自动重启。您可以将其更改为 on-failure,这样当服务因故障而退出时,systemd 将尝试自动重启它:
sudo systemctl set-default --force on-failure
或者,如果您只想针对 vsftpd 单独设置此策略,而不影响其他服务,可以使用:
sudo systemctl restart vsftpd
sudo systemctl edit --full vsftpd.service
在打开的编辑器中,添加以下内容:
[Service]
Restart=on-failure
保存并关闭文件。
验证设置: 您可以通过停止 vsftpd 服务来测试自动重启功能:
sudo systemctl stop vsftpd
然后等待几秒钟,再次检查 vsftpd 的状态:
sudo systemctl status vsftpd
如果一切正常,您应该会看到 vsftpd 正在尝试重新启动。
请注意,这些步骤适用于 CentOS 7 及更高版本,因为它们使用 systemd 作为初始化系统。如果您使用的是 CentOS 6 或更早版本,那么您需要使用 init.d 脚本来管理服务,而不是 systemd。