Как убедиться, что rsync получает полный файл, если удаленный cron удаляет его во время передачи
Альтернативный заголовок: Как я могу предотвратить удаление файла, если rsync (или любое другое приложение) в настоящее время имеет файл, открытый для чтения?
В моей работающей системе есть cron, который каждые 30 минут выгружает базу данных в файл резервной копии.
В моей системе резервного копирования у меня есть cron, который запускает rsync для извлечения этого файла резервной копии, также каждые 30 минут.
Я думал о создании файлов блокировки и их использовании, чтобы сообщить удаленному, безопасно ли получать файл, или наоборот. Я также подумал о том, чтобы сценарий дампа создавал имена файлов поочередно и создавал файл "name", который удаленный извлекает, чтобы узнать, какой файл "безопасен" для извлечения. Я знаю, что могу синхронизировать задания cron, но мне интересно, есть ли лучший, более безопасный способ.
Есть ли какая-нибудь функция ОС, которую я могу использовать для этого?