cp 命令在 crontab 中抛出错误

cp 命令在 crontab 中抛出错误

我的 crontab 中有以下命令,用于将名为“data”的文件复制到名为“Archive”的现有目录中,并附加一个日期戳。当我在命令行上手动运行它时,它工作正常。

01 0  * * * cp /home/data /home/Archive/data.$(date +%F)

但是当 cron 运行上述命令(在同一用户下)时,文件不会复制,并且出现以下错误:

cp:0653-437 2018 不是目录

答案1

那可能是外壳问题。尝试将该命令放入启动的脚本中

#!/bin/bash

并手动执行脚本以确保其有效,然后尝试在 cron 中执行它。

答案2

问题可能是没有这样的目录。这个 oneliner 将为您处理目录创建:

01 0 * * * export NEWDIR=/home/Archive/data.$(date +%F) ; mkdir -p "$NEWDIR"; cp /home/data "$NEWDIR"

相关内容