linux中最简单方式使用crontab打印当前时间

因特殊需求,需要在linux的某个文件中每分钟打印出当前时间。

先手动试一下命令:

echo $(date)

打印出:

Mon Sep 1 09:28:06 AM CST 2024

而我需要达到的效果是:

2024-09-01 09:28:06

于是命令改成了:

echo $(date "+%Y-%m-%d %H:%M:%S")

拿到结果:

2024-09-01 09:28:96

现在放入crontab中。

先编辑:

crontab -e

加入内容:

* * * * * echo $(date "+%Y-%m-%d %H:%M:%S") >> /root/crontest.log 2>&1

即:每分钟打印一次时间

去文件里查看:

cat /root/crontest.log

发现什么都没有。这个地方花了很久才搞定,查了很多方案告诉我这样是没有问题的。

而实际上在crontab中, %符号在crontab中是特殊符号,所以需要进行转义!

所以需要再次对命令进行修改:

* * * * * echo $(date "+\%Y-\%m-\%d \%H:\%M:\%S") >> /root/crontest.log 2>&1

这样就可以打印出来了。

当然,命令仍然可以进行简化,最终的命令为:

* * * * * date "+\%Y-\%m-\%d \%H:\%M:\%S" >> /root/crontest.log 2>&1

也可以实现同样的效果!

相关推荐
人间打气筒(Ada)1 小时前
MySQL主从架构
服务器·数据库·mysql
落笔画忧愁e2 小时前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
小冷爱学习!2 小时前
华为动态路由-OSPF-完全末梢区域
服务器·网络·华为
技术小齐3 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风3 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
打不了嗝 ᥬ᭄3 小时前
Linux的权限
linux
落幕3 小时前
C语言-进程
linux·运维·服务器
深度Linux3 小时前
C++程序员内功修炼——Linux C/C++编程技术汇总
linux·项目实战·c/c++
chenbin5204 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯4 小时前
Jenkins插件管理切换国内源地址
运维·jenkins