
이전에 CRON을 사용하여 문제 없이 실행했던 Mysql용 백업 스크립트가 있습니다. 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으로 작동하지만 시스템 타이머에서는 실패하는 이유는 무엇입니까? 1개 서버에서는 작동하지만 다른 2개 서버에서는 동일한 명령이 실패하는 이유는 무엇입니까?
답변1
이미 제거된 파일을 제거하지 못하는 것에 대해 신경 쓰지 않는다면 --force
에 옵션을 추가할 수 있습니다 rm
. 문서 에서 man rm
:
존재하지 않는 파일과 인수를 무시하고 메시지를 표시하지 않습니다.