linux 服务器用 crontab 实现每周六自动定时关机的命令脚本

2025-07-23 0 799 百度已收录

每周六服务器都忘了关,空转一整天,电费单看着都心疼?手动设关机又怕忘了,要是服务器在机房,跑一趟更麻烦。其实用 crontab 做个自动定时关机脚本,每周六到点自己就关了,特省心。今天就手把手教你怎么做,哪怕是新手,跟着步骤来也能搞定 —— 毕竟 linux 服务器用 crontab 实现每周六自动定时关机的命令脚本,没想象中那么复杂。

先搞懂:crontab 到底是啥?

你可能会问,crontab 这东西能干啥?简单说,它就是 Linux 里的 “定时闹钟”,能让服务器到点自动执行命令。比如每周六晚上 10 点关机,设置好后,它到时间就会自己跑关机命令,不用人盯着。
我们平时手动输shutdown -h 22:00只能管一次,crontab 能让这个命令每周六都生效,这就是它的好处。就像家里的闹钟,设一次每周六响,不用每周都调,服务器上这个 “闹钟” 也一样。

设置步骤:三步搞定每周六关机

第一步:打开 crontab 的编辑界面

先登录服务器,输crontab -e,这时候会弹出一个编辑框,第一次用可能会让你选编辑器,选 nano 就行,简单好操作。按一下 Enter,就进入编辑模式了,接下来就能写命令了。

第二步:写对脚本格式,时间别弄错

重点来了,脚本格式得记牢。想让每周六 22 点关机,要这么写:
0 22 * * 6 /sbin/shutdown -h now
解释一下啊,前面五个数分别是分、时、日、月、周,0 22就是 22 点 0 分,* * 6代表每周六(周几是 0-6,6 就是周六),后面/sbin/shutdown -h now就是关机命令。
小编第一次写的时候,把周几写成了 7,结果死活不生效,后来才知道周几最大是 6,这点千万别错。

第三步:保存退出,让设置生效

写完之后,按 Ctrl+O 保存,再按 Enter 确认,最后 Ctrl+X 退出。这时候屏幕会显示 “安装新的 crontab”,说明保存成功了。这时候服务器就记住了:每周六 22 点,自动执行关机命令。
不过话说回来,设置完别直接关窗口,最好再检查一遍,免得哪里输错了。

验证方法:怎么知道设置成功了?

1. 先看设置的内容对不对

crontab -l,能看到刚才写的脚本,要是显示0 22 * * 6 /sbin/shutdown -h now,说明内容没写错。

2. 手动改时间测试,别等周六

要是等不及周六,想马上试试,能临时改一下脚本。比如改成*/5 * * * * /sbin/shutdown -h now,意思是每 5 分钟关机一次,等 5 分钟看服务器是不是真关了,成功了再改回周六的时间。不过测试完一定要改回来,不然服务器老关机可就麻烦了。
小编上次帮朋友设置,就是这么测试的,5 分钟后服务器果然关了,心里才踏实。

踩过的坑:这些问题要注意

1. 命令路径别写错,不然找不到程序

有次设置完没生效,查了半天才发现,把/sbin/shutdown写成了/bin/shutdown,路径错了服务器找不到关机程序,自然不执行。不同服务器可能路径不一样,输which shutdown能看到正确路径,照着写准没错。

2. 权限不够也白搭

普通用户设置可能没权限,这时候得加sudo,比如sudo crontab -e,输密码后再写脚本。不然就算设置了,服务器也不认,该怎么办呢?记住,服务器管理类的操作,加 sudo 总没错。

3. 特殊情况:服务器正在跑重要任务咋办?

要是周六 22 点服务器还在处理数据,直接关机就糟了。可以在脚本里加个提醒,比如先执行wall "服务器将在10分钟后关机,请保存工作",再延迟关机。脚本改成:
0 21 * * 6 wall "服务器将在22点关机,请保存工作" && 0 22 * * 6 /sbin/shutdown -h now
这样提前 1 小时提醒,用户有时间保存东西。
具体不同版本的 Linux,crontab 对这种多命令的支持会不会有差异,我还没完全弄清楚,要是你试了不行,可能得分开写两个任务。

为啥要这么做?省电费还保护服务器

服务器整天开着,不光费电,机器也容易老化。每周六要是没业务,关一天能省不少电,长期下来可不是小数目。小编之前管理的机房,这么设置后,每月电费少了快 200 块,老板都夸会过日子。
不过有个事儿得说,要是服务器是集群,关一台可能影响其他机器,这种情况最好别单独设关机,先问问管理员。
linux 服务器用 crontab 实现每周六自动定时关机的命令脚本


其实用 crontab 设置每周六关机,真不难,关键是格式别写错,路径别弄混。小编建议设置完之后,第一个周六最好盯着点,看看是不是真的按时关机了,没问题了再放心撒手。另外,每隔一两个月用crontab -l查一下,万一服务器重启后设置丢了呢?多检查总没坏处。要是你还没试过,赶紧找台测试服务器练练,学会了能省不少事儿呢。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 SEO运维 linux 服务器用 crontab 实现每周六自动定时关机的命令脚本 https://www.tglzm.com/seo/wei-seo/4114.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务