Linux/Unix系统管理员对服务器系统正常运行时间有一种奇怪的痴迷。这是一个关于这个主题的xkcd漫画,一个好的系统管理员是一股不可阻挡的力量,站在你的猫博客的服务器前对抗黑暗的力量。图01:忠于职守https://xkcd.com/705/我们可以使用uptime命令或者w命令或者top命令来判断Linux系统已经运行了多长时间。我可以使用tuptime工具来保持每次重启的正常运行时间,以获取系统正常运行时间的历史和统计报告。这就像uptime命令,但输出更令人印象深刻。最近我发现了另一个名为uptimed的工具,它可以记录系统的正常运行时间和有关机器的统计信息。让我们看看如何在Linux操作系统上使用uptimed和uprecords获取uptimed记录统计信息。查找系统正常运行时间就像在基于Linux的系统上键入以下命令一样简单:$uptime-pup2weeks,4days,7hours,28minutes要保留有关正常运行时间的历史统计信息,请使用tuptime或uptimed工具。安装uptimed安装uptimed最简单的方法是通过你的包管理器,比如你的Linux发行版的apt/apt-get/yum朋友。在Debian/UbuntuLinux上安装uptimed键入以下apt命令/apt-get命令:$sudoapt-getinstalluptimed显示示例输出:读取包列表...完成构建依赖树读取状态信息...完成将安装以下附加包:libuptimed0将安装以下新包:libuptimed0uptimed0已升级,2个新安装,0个要删除,3个未升级。需要获取40.7kB的存档。执行此操作后,将使用228kB的额外磁盘空间。是否要接着说?[是/否]yGet:1http://mirrors.linode.com/ubuntuxenial/universeamd64libuptimed0amd641:0.3.17-4[9,050B]Get:2http://mirrors.linode.com/ubuntuxenial/universeamd64uptimedamd641:0.3.17-4[31.6kB]在0s(2,738kB/s)中获取40.7kB预配置包...选择以前未选择的包libuptimed0。(正在读取数据库...当前39163个文件和目录安装。)准备解压.../libuptimed0_1%3a0.3.17-4_amd64.deb...解压libuptimed0(1:0.3.17-4)...选择之前未选择的包uptimed。准备解包.../uptimed_1%3a0.3.17-4_amd64.deb...解包uptimed(1:0.3.17-4)。..systemd(229-4ubuntu21)的处理触发器...ureadahead(0.100.0-19)的处理触发器...man-db(2.7.5-1)的处理触发器...设置libuptimed0(1:0.3.17-4)...设置uptimed(1:0.3.17-4)...处理libc-bin(2.23-0ubuntu9)的触发器...处理systemd(229-4ubuntu21)的触发器...Processingtriggersforureadahead(0.100.0-19)...在CentOS/RHEL/Fedora/Oracle/ScientificLinux上安装uptimed首先在CentOS/RHEL使用EPEL库:$sudoyum-yinstallepel-release然后,键入以下yum命令:$sudoyuminstalluptimed示例输出:加载的插件:fastestmirror从缓存的主机文件加载镜像速度*base:centos.excellmedia.net*epel:ftp.cuhk.edu.hk*extras:centos.excellmedia.net*updates:centos.excellmedia.netResolvingDependencies-->运行事务检查--->包uptimed.x86_640:0.4.0-6.el7将被安装-->FinishedDependencyResolutionDependenciesResolved=============================================================================包Arch版本存储库大小===================================================================================安装:uptimedx86_640.4.0-6.el7epel47kTransaction总结===============================================================================安装1PackageTotal下载大小:47kInstalled大小:98kIsthisok[y/d/N]:y下载包:uptimed-0.4.0-6.el7.x86_64.rpm|47kB00:01运行事务检查运行事务测试事务测试成功运行事务安装:uptimed-0.4.0-6.el7.x86_641/1验证:uptimed-0.4.0-6.el7.x86_641/1已安装:uptimed.x86_640:0.4.0-6.el7完成!如果您使用的是FedoraLinux,请运行以下dnf命令:$sudodnfinstalluptimed要在ArchLinux上安装uptimed,请键入以下pacman命令:$sudopacman-Suptimed要在GentooLinux上安装uptimed,请键入以下emerge命令:$sudoemerge--askuptimed如何配置uptimed用文本编辑器编辑/etc/uptimed.conf文件,例如vim命令:$sudovim/etc/uptimed.conf设置至少一个电子邮件地址来发送记录到assumes安装在/usr/lib/sendmail中的与sendmail兼容的MTA。EMAIL=vivek@server1.cyberciti.biz保存并关闭文件。如何在系统启动时启动uptimed服务?使用systemctl命令启动uptimed服务:$sudosystemctlenableuptimed如何启动/停止/重启或查看uptimed服务的状态?$sudosystemctlstartuptimed##启动它##$sudosystemctlstopuptimed##停止它##$sudosystemctlrestartuptimed##重新启动它##$sudosystemctlstatusuptimed##查看状态##示例输出:●uptimed。服务-正常运行时间记录守护进程已加载:已加载(/lib/systemd/system/uptimed.service;已启用;供应商预设:已启用)活动:活动(运行)自星期四2017-11-0917:49:14UTC;18分钟前MainPID:11137(uptimed)CGroup:/system.slice/uptimed.service└─11137/usr/sbin/uptimed-fNov0917:49:14gfs04systemd[1]:启动正常运行时间记录守护进程。如何查看刚需的正常运行时间记录您可以通过键入以下命令查看uptimed(8)程序的统计信息:$uprecords示例输出:图02:actionuprecords中的uprecords有一些选项:$uprecords-?示例输出:usage:uprecords[OPTION]...-?这个帮助-a不打印ANSI代码-b按引导时间排序-B按bo反向排序ottime-k按sysinfo排序-K按sysinfo反向排序-d打印每次正常运行时间之前看到的停机时间而不是系统-c如果不在顶部条目中则不显示当前条目-f在循环中连续运行-s不打印额外的统计信息-w宽输出(每行超过80列)-iINTERVAL使用INTERVAL秒而不是5秒进行循环,这意味着-f-mCOUNT显示最多前COUNT个条目而不是10-M显示下一个里程碑-v版本信息得出结论是一个很棒的小工具,可以显示服务器正常运行时间的记录,以证明机器正常运行时间和您的业务连续性在相关说明中,您可以看到官方的XKCD系统管理员T恤,因为漫画被制作成T恤,背面有一个新插图.图03:SysadminXKCD衬衫正面印有原版漫画,背面印有新插图。
