解决Centos crontab没有按时运行的问题

简介:

我装了centos,用一点一直无法搞定,就是定时关机。我只是想做这一件事:

每天凌晨1点自动关机

0 1 * * * shutdown now -h

然而,无论我如何设置,都是失败.
每当我睡了一觉,第二天起床,发现机器还开着……我准备放弃了。
突然发现,这样写的脚本是可以运行的

* * * * * echo "hello world"

我只好改成写python脚本来完成

* * * * * python /etc/root/shutdown.py

大概是这个样子:

#!/usr/bin/env python#--coding:utf-8--from datetime import datetimeimport os
checkTime = datetime(2017,05,18,7,28)
currentTime = datetime.now().time()
currentTime = datetime(2017,05,18,currentTime.hour,currentTime.minute)
timeSpan = currentTime - checkTimeprint(currentTime)print(checkTime)print(timeSpan)print(timeSpan.total_seconds())if timeSpan.total_seconds() > 0 and timeSpan.total_seconds() <120:
    os.system("shutdown now -h")

每分钟都去看看现在是凌晨1点多吗?如果是,就关机。。。
然后,始终觉得哪里不对。

修复方法

突然想起来看看当前的时间

date

原来是时区的问题,默认的好像是UTC(现在我不记得了)
时区改成上海,就解决了。

timedatectl list-timezones | grep Asia
timedatectl set-timezone Asia/Shanghai
date
Fri May 19 22:27:01 CST 2017

原来,如果你的crontab也没有按时执行,你还得检查检查看看你当前的时区在哪里啊?

时间同步

为了时间不乱,还是装上ntpd好了。

wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p10.tar.gztar -zxvf ntp-4.2.8p10.tar.gzcd ntp-4.2.8p10
./configure
make
make install

看看ntpd版本

ntpd --version

ntpd 4.2.8p10@1.3728-o Fri May 19 14:52:55 UTC 2017 (1)

试试crontab同步,每周一次就行了。

* * * * 0 ntpdate 0.asia.pool.ntp.org & hwclock -w


相关文章
|
14天前
|
NoSQL Linux 网络安全
【专栏】在 RHEL 8 或者 CentOS 8 上顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
|
28天前
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
|
1月前
|
Linux 网络安全 Python
解决方案:Centos7运行Django项目报错no module named _ssl
解决方案:Centos7运行Django项目报错no module named _ssl
21 0
|
4月前
|
存储 Linux 网络安全
Centos6.5安装/运行/启动/登录docker
Centos6.5安装/运行/启动/登录docker
99 0
|
5月前
|
小程序 Java Shell
solr(三)centos7.6安装配置javasdk1.8及运行solr
前边大概记录了一下windows安装及配置solr的过程。 这里再记录一下centos7安装及配置solr的过程。
75 0
|
7月前
|
Linux 网络安全 Python
百度搜索:蓝易云【如何在Centos的SSH2终端中终止-停止-结束某个Python程序的运行?】
这些方法可以帮助你在CentOS的SSH终端中终止、停止或结束某个Python程序的运行。选择适合你情况的方法,并根据需要使用相应的命令来终止运行中的程序。请注意,终止程序可能会导致未保存的数据丢失,所以在操作之前确保已保存必要的数据。
109 0
|
10月前
|
Linux Windows
ceb2Pdf.exe实现ceb文件转pdf,内网离线安装wine(手动编译32位)实现在centos(linux)上运行window程序exe程序,解决wine : Z:\xxx EXE格式无效
最近项目需要实现ceb文件在线预览,之前并没见过这格式的文件,一搜发现果然不简单,这破东西还不太好弄在线预览,经过查找发现只有windows版本的cebToPdf.exe程序可以转换成pdf再进行预览,但是我们服务器是centos(内网)啊,所以就有了该篇文章。
209 0
|
10月前
|
Java Linux 数据库连接
【Java】Centos7配置Nacos开机自启动并后台运行(包含使用Docker运行nacos)
【Java】Centos7配置Nacos开机自启动并后台运行(包含使用Docker运行nacos)
618 0
|
10月前
|
存储 监控 Linux
Centos基础指令:更好的掌握系统运行情况
Centos基础指令:更好的掌握系统运行情况
110 0
|
Java Linux Spring
centos7系统运行、停止java程序常用命令,springboot打包运行
centos7系统运行、停止java程序常用命令,springboot打包运行
809 0
centos7系统运行、停止java程序常用命令,springboot打包运行