【crontab】如何解决命令末尾自动加^M,导致不生效的问题

目录

场景:

问题:

问题原因:

解决方案:

Step 1:编辑文件yolov5 ,并查看文件类型 

Step 2:修改文件类型 yolov5

Step 3:yolov5中的定时任务加入到crontab中,并查看crontab 列表

Step 4:查看是否生效有两种方法

Step 4-1:看结果(简单)

Step 4-2:看crontab 日志(推荐)


场景:

  • Ubuntu 18
  • MobaXterm
  • crontab 
  • 自定义定时指令文件 /etc/cron/yolov5

问题:

        crontab 定时任务没有生效

问题原因:

  • MS-DOS 格式文件,末尾有个 ^M 字符。(^M 回车换行符 )
  • 命令末尾自动加^M,导致不生效

解决方案:

Step 1:编辑文件yolov5 ,并查看文件类型 

  • vim /etc/cron/yolov5
  • :set ff

这里我已经更改成nuix,更改前为doc

Step 2:修改文件类型 yolov5

  • :set fileformat=unix

Step 3:yolov5中的定时任务加入到crontab中,并查看crontab 列表

  • cd /etc/cron
  • crontab yolov5
  • crontab -l

Step 4:查看是否生效有两种方法

Step 4-1:看结果(简单)

如这里设置的是docker重启时间是10:29,所以可以查看yolov5 status,运行时间

Step 4-2:看crontab 日志(推荐)

开启 crontab 运行日志(ubuntu默认关闭系统日志)

1. 编辑文件

  • vim /etc/rsyslog.d/50-default.conf

2. 打开文件,在文件中找到 cron.*,把前面的#去掉,保存退出。

3.启动系统日志

  • sudo service rsyslog restart

4.等crontab定时任务执行后查看运行日志

  • vim /var/log/cron.log

5.根据日志定位问题

这里可以看出命令末尾自动加^M

 完结撒花

        

posted @ 2023-04-28 11:08  随风落木  阅读(11)  评论(0编辑  收藏  举报  来源