10 0 * * * cp /var/log/nginx/access.log-$(date -d "yesterday" +%Y%m%d).gz /ubuntu/webdav/nginx_log
大佬帮我看看,这样写有问题吗
测试了一下,并没有执行成功
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
2楼 webjin 昨天20:21
这样写没问题啊
3楼 airsteam 昨天20:32
这样写没问题啊
可是并没有复制文件过去。
手动执行后面的命令就没问题,把文件名换成固定的crontab也可以执行成功;难道是不能写这样写带日期的文件名?
4楼 webjin 昨天20:39
可是并没有复制文件过去。
手动执行后面的命令就没问题,把文件名换成固定的crontab也可以执行成功;难 ...
是debian和ubuntu的吗
5楼 airsteam 昨天20:39
是debian和ubuntu的吗
ubuntu
6楼 webjin 昨天20:40
ubuntu
https://www.baeldung.com/linux/load-env-variables-in-cron-job
7楼 webjin 昨天20:41
10 0 * * * BASH_ENV=/etc/profile cp /var/log/nginx/access.log-$(date -d "yesterday" +%Y%m%d).gz /ubuntu/webdav/nginx_log
9楼 suantong 昨天21:22
确定命令无误的话,在最后面多加一个空白行即可
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。