在 CentOS 上让 Filebeat 定时重启,常见有几种做法,取决于你是用 systemd 还是 直接运行 的。下面给你最推荐、最稳的方式。
systemctl status filebeat
如果能看到 active (running),说明是 systemd 管理的。
vi /opt/restart_filebeat.sh
内容:
#!/bin/bash
systemctl restart filebeat
赋予执行权限:
chmod +x /opt/restart_filebeat.sh
crontab -e
例如:每天凌晨 3 点重启
0 3 * * * /opt/restart_filebeat.sh
保存退出即可。
✅ 优点:安全、标准、日志可控
如果 Filebeat 不是 systemd 启动的:
crontab -e
示例(每天 3 点):
0 3 * * * pkill -f filebeat && /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml &
⚠️ 不推荐,容易出问题
不一定需要重启,可以:
systemctl reload filebeat
或:
filebeat -c /etc/filebeat/filebeat.yml reload
(某些版本支持)
reloadrestartfilebeat.yml(队列、harvester 数量)journalctl -u filebeat | tail
或
ls -l /var/log/filebeat/
如果你愿意,可以告诉我:
我可以给你更精准的方案。