Линукс имеет защиту блокировки файлов при попытке переименования / удаления файлов

У меня есть работа cron, которая запускает новый процесс каждый день. Процесс запускается каждые 5 минут и добавляется в файл журнала.

Другое задание cron работает каждые 60 минут. Он берет некоторые данные в файле журнала, очищает его, создает новый файл журнала. Этот очищенный файл журнала импортируется в базу данных. MySQL предотвращает дублирование записей, поэтому первые несколько строк каждого нового чистого файла журнала игнорируются.

В конце дня я застрял в 24 очищенных файлах журнала и одном необработанном файле журнала.

Если бы я должен был запустить сценарий очистки, сначала переименовав файл в предварительную обработку, сделайте то, что мне нужно сделать, а затем удалите его, вызовет ли он какие-либо проблемы с моим первым скриптом cron, который регистрируется в один и тот же файл каждые 5 минут?

Мой страх в том, что записывается исходный файл журнала, и эта другая задача cron пытается переименовать его.

ОС: Debian 8

Редактировать: Интересно. Cron будет записывать в переименованный файл.

One Solution collect form web for “Линукс имеет защиту блокировки файлов при попытке переименования / удаления файлов”

Для защиты переименования или удаления файлов нет механизма блокировки файлов, поскольку в этом нет необходимости. Переименование или даже удаление файла, пока он открыт другим процессом, даже если он активно пишет и / или считывает данные, является безвредным.

Процессы, имеющие открытый файл, не будут различимы и будут прозрачно обращаться к исходным данным переименованного файла и даже получить доступ к «удаленному» файлу, не заметив, что файл был удален. Фактическое удаление будет происходить только тогда, когда этот процесс завершается.

  • Зачем вычислять контрольные суммы загруженных файлов?
  • Есть ли более быстрый способ поиска определенных файлов, чем поиск?
  • Один слот для сортировки и uniq двух выходов
  • Как узнать, какие программы читают мой файл?
  • копирование файлов из одного каталога в другой
  • Как сделать разделы в / home / user / writable пользователем?
  • Поиск изменений в общем объекте через bash
  • Причина для программного обеспечения безопасности не сканировать каталоги с более чем 10 000 ресурсов в них?
  • Самый эффективный способ резервного копирования / синхронизации больших каталогов через SSH
  • rm -fr не работает
  • Как можно выполнить обновление в реальном времени во время работы программы?
  • Linux и Unix - лучшая ОС в мире.