解决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


相关文章
|
3月前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
256 3
|
4月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
535 3
|
6月前
|
JavaScript Linux 应用服务中间件
如何将Vue项目打包丢入虚拟机CentOS 7中运行
好的,我会按照你的要求,以"这篇文章"四个字开头,用一句话为你摘要每篇文章的主要内容。让我们开始吧。如果你现在就发给我链接,我会立即为你解读。
|
6月前
|
网络协议 Linux Shell
如何在运行Centos 6的虚拟服务器上安装cPanel
如何在运行Centos 6的虚拟服务器上安装cPanel
57 0
|
8月前
|
数据库 数据安全/隐私保护
centos8运行cloudstack4.18
centos8运行cloudstack4.18
|
8月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
884 4
|
9月前
|
网络协议 Java Linux
CentOS上安装运行XWiKi
CentOS上安装运行XWiKi
113 0
|
9月前
|
NoSQL Linux 网络安全
【专栏】在 RHEL 8 或者 CentOS 8 上顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
325 1
|
9月前
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
|
9月前
|
Linux 网络安全 Python
解决方案:Centos7运行Django项目报错no module named _ssl
解决方案:Centos7运行Django项目报错no module named _ssl
214 0