find /log/ -mtime -31 -type f -name ""*data.txt"" -printf ""cp -p %p /Backup/%Td/\n"" | sh
我正在尝试在 cron 作业中设置此命令,但它抱怨unknown predicate -p
.并不是真正的 cron 问题,看起来像是 shell 脚本问题。
我怎样才能解决这个问题?引用-p
没有帮助。
答案1
由于引用的字符串是双...双引号的,因此它们实际上根本没有被引用。
你有:
find /log/ -mtime -31 -type f -name ""*data.txt"" -printf ""cp -p %p /Backup/%Td/\n"" | sh
这应该是:
find /log/ -mtime -31 -type f -name "*data.txt" -printf "cp -p %p /Backup/%Td/\n" | sh
但你可能不应该这样做。您应该使用find -exec
复制这些文件。