我遇到了一些问题,该命令似乎只有以普通用户身份运行时才有效:
find /mnt/data* -mmin +119 -name '*.adsr' -type f -delete 2>&1 | tee -a /log/rsynclog.txt
如果我以普通用户身份使用该命令,我会在日志中收到权限错误。一旦我,root
该命令就不会附加到我的日志中。这是在我的 中运行的命令之一cron.hourly
。
这是否意味着只有出现错误时才会记录?我可以更改哪些内容,以便成功删除的信息也显示在我的日志中?
答案1
tee -a
除非我以普通用户身份运行它,否则它不会执行任何操作,然后它会在我的日志中显示大量权限被拒绝的错误
您的命令似乎没问题。它只是不生成输出,因为抑制了的-delete
默认输出;并且当以 运行时,它不会命中任何。-print
find
root
permission denied
如果要记录被删除的文件,请-print
明确使用:
find … -delete -print 2>&1 | tee -a …
注意-delete -print
与 略有不同-print -delete
。前者仅在删除成功时才会打印;而后者无论如何都会打印。如果不成功,-delete
您会收到一条消息strerr
,您也会将其记录下来,因此-delete -print
对您来说应该没问题。