全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 679|回复: 8

crontab不执行

[复制链接]
发表于 2022-6-21 20:16:28 | 显示全部楼层 |阅读模式
10 0 * * * cp /var/log/nginx/access.log-$(date -d "yesterday" +%Y%m%d).gz /ubuntu/webdav/nginx_log
大佬帮我看看,这样写有问题吗
测试了一下,并没有执行成功
 楼主| 发表于 2022-6-21 21:19:51 | 显示全部楼层
webjin 发表于 2022-6-21 20:41
10 0 * * * BASH_ENV=/etc/profile cp /var/log/nginx/access.log-$(date -d "yesterday" +%Y%m%d).gz /ubu ...

不是环境变量的锅,%在crontab被识别为换行,需要加反斜杠转义。
https://blog.csdn.net/q279838089/article/details/41519441
发表于 2022-6-21 20:21:24 | 显示全部楼层
这样写没问题啊
 楼主| 发表于 2022-6-21 20:32:37 | 显示全部楼层
webjin 发表于 2022-6-21 20:21
这样写没问题啊

可是并没有复制文件过去。
手动执行后面的命令就没问题,把文件名换成固定的  crontab也可以执行成功;难道是不能写这样写带日期的文件名?
发表于 2022-6-21 20:39:11 | 显示全部楼层
本帖最后由 webjin 于 2022-6-21 20:40 编辑
airsteam 发表于 2022-6-21 20:32
可是并没有复制文件过去。
手动执行后面的命令就没问题,把文件名换成固定的  crontab也可以执行成功;难 ...


是debian和ubuntu的吗
 楼主| 发表于 2022-6-21 20:39:59 | 显示全部楼层
webjin 发表于 2022-6-21 20:39
是debian和ubuntu的吗

ubuntu
发表于 2022-6-21 20:40:19 | 显示全部楼层

https://www.baeldung.com/linux/load-env-variables-in-cron-job
发表于 2022-6-21 20:41:30 | 显示全部楼层
10 0 * * * BASH_ENV=/etc/profile cp /var/log/nginx/access.log-$(date -d "yesterday" +%Y%m%d).gz /ubuntu/webdav/nginx_log
发表于 2022-6-21 21:22:18 | 显示全部楼层
确定命令无误的话,在最后面多加一个空白行即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-9 07:59 , Processed in 0.068389 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表