命令在 Systemd 计时器脚本中运行失败

命令在 Systemd 计时器脚本中运行失败

我有 Mysql 的备份脚本,以前使用 CRON 运行没有问题。我迁移到使用 systemd 计时器。该脚本首先使用此命令删除复制前几周的文件;

find /home/NAS2/$SRVER/backups/$_DAY -type f -exec rm {} \;

我在消息日志中得到的是这样的;

percona_backup: rm: cannot remove ‘/home/NAS2/o71/backups/Monday/mysql/proc.ibd’: No such file or directory

SELinux 设置为强制执行。我应该提到,有 3 个服务器正在运行同一脚本的变体,只有 2 个服务器因此错误而失败。一切都归结为这一命令。

那么,为什么它可以作为 CRON 工作,但使用 systemd 计时器却失败呢?为什么它可以在 1 台服务器上运行,但相同的命令在另外 2 台服务器上失败?

答案1

如果您不关心删除已删除的文件失败,那么您可以将该--force选项添加到rm.来自文档man rm

忽略不存在的文件和参数,从不提示

相关内容