配置 Linux 服务器以供长期使用(部署后不授予远程访问权限)

配置 Linux 服务器以供长期使用(部署后不授予远程访问权限)

不确定标题是否最好,但需要进一步解释:我必须在客户网络上部署一个 Linux 机器,我无法远程或定期访问该机器。我想确保系统长时间运行而不会出现任何问题。我最担心的是磁盘空间不足。它很快就会被各种日志占用,这将对其他所有东西产生连锁反应。我将设置一些 cron 作业,每隔 X 小时清除一次各种日志,但我需要确保我涵盖了所有基础。

在部署之前我应该​​进行哪些配置更改/最佳实践,以及我应该将维护 cron 作业的重点放在什么地方?以防万一,我正在运行 Debian 9。

答案1

最佳实践是安装 cron 和 logrotate,并配置 logrotate 定期轮换日志或在日志增长到一定大小后轮换日志。然后检查您的服务是否将所有内容写入日志文件。如果有内容发送到 stdout/stderr,则安装 rsyslog 并在脚本的任何地方使用 logger(1) 将所有内容重定向到 syslog。另外,检查您的 cron 设置以不将任何内容发送到邮件,因为 mailqueue 也会占用空间。将所有 cron 任务的输出(stderr&stdout)重定向到 logger(1) 可有效阻止来自 crond 的任何电子邮件,同时允许您检查任务的执行输出。

/etc/cron.d/ping-localhost 中的示例行:

*/29 * * * * root /usr/bin/ping -c 3 localhost 2>&1 | logger -t ping-localhost

输出示例:

我@主机:~$~> tail -8 /var/log/messages
11 月 20 日 12:59:34 主机 ping-localhost:PING host.local (127.0.0.1) 56(84) 字节数据。
11 月 20 日 12:59:34 主机 ping-localhost:来自 host.local (127.0.0.1) 的 64 字节:icmp_seq=1 ttl=64 时间=0.034 毫秒
11 月 20 日 12:59:35 主机 ping-localhost:来自 host.local (127.0.0.1) 的 64 字节:icmp_seq=2 ttl=64 时间=0.044 毫秒
11 月 20 日 12:59:36 主机 ping-localhost:来自 host.local (127.0.0.1) 的 64 字节:icmp_seq=3 ttl=64 时间=0.053 毫秒
11月20日 12:59:36 主机 ping-localhost:
11 月 20 日 12:59:36 主机 ping-localhost:--- host.local ping 统计信息---
11 月 20 日 12:59:36 主机 ping-localhost:已发送 3 个数据包,已接收 3 个数据包,0% 数据包丢失,耗时 2001 毫秒
11 月 20 日 12:59:36 主机 ping-localhost:rtt min/avg/max/mdev = 0.034/0.043/0.053/0.010 毫秒

相关内容