Заблокировать папку при запуске cron

Я настраиваю свой первый cron на Ubuntu Desktop. Мне было интересно узнать, есть ли способ заблокировать папку до запуска cron и как ее настроить? Я следую этой статье. Я просто пытаюсь удостовериться, что не повреждаю файлы при перемещении их из и в папку cron, потому что он находится в общей сети.

3 Solutions collect form web for “Заблокировать папку при запуске cron”

Простой скрипт с блокировкой и задержкой перед доступом к файлам:

#!/bin/sh if mkdir /tmp/myscript-running; then cd /mnt/share/whereever find . -type f -mmin +1 -print0 | xargs -i -n 1 -0 myscript.sh "{}" rmdir /tmp/myscript-running else : # previous instance still running, do nothing fi 

find GNU или эквивалент, необходимый для опции -mmin . Вы можете запускать это так часто, как требуется через cron. Замените myscript.sh вашим скриптом обработки.

Основные возможности:

  1. используйте mkdir для создания каталога блокировки для предотвращения дублирования экземпляров
  2. используйте find -mmin +1 который ограничивает вывод файлов, измененных более чем 1 минуту назад, чтобы попытаться обеспечить полное копирование новых файлов
  3. используйте xargs для обработки файлов по одному, "{}" заменяется именем файла
  4. использовать \0 завершенные имена файлов с помощью find | xargs find | xargs чтобы неприятные имена файлов не вызывали проблем

Вы должны иметь возможность изменять параметры find в соответствии с тем, что вам нужно. Вы также можете использовать приведенную выше логику для перемещения завершенных файлов из « uploading/ » в каталог « ready/ », что может упростить ситуацию.

Ubuntu также имеет shlock и shlock который может быть полезен, см. shlock страницу последнего для большего количества идей.

Это не идеально, но эффективно. У вас есть отдельный каталог «feeder», в который вы копируете новые файлы, при копировании их в сеть. Затем ваш скрипт cron может выполнить / ls / var / feeder, затем каждый файл в этом каталоге ищет любые открытые дескрипторы файлов. Файлы, которые не используются, затем перемещаются в основной общий каталог, файлы, которые открыты (предположительно, вы копируете их или некоторые такие), остаются в фидере. Убедитесь, что основной / общий каталог не доступен для записи, кроме вашего сценария, и вы должны быть хорошими.

пошаговое руководство по блокировке папок в linux http://linux-all-over.blogspot.in/2014/10/how-to-lock-filefolder-in-linux-kali.html

  • Использование update-rc.d
  • l, ls & la - каковы различия, и есть ли еще эти команды?
  • Различия в упаковке Ubuntu? Eclipse против Firefox
  • остановить Xserver в Xubuntu 11
  • Как сделать видео-поток с защитой DRM от Amazon Video запущен на Debian Jessie?
  • Как установить meld 3.11 в Ubuntu 14.04?
  • Невозможно изменить геометрию по умолчанию vncserver
  • Невозможно выполнить регистрацию открытого ключа SSH под зашифрованным домом
  • Есть ли способ узнать, сколько памяти использует Linux Os?
  • выскочка и супервизор используются для одного и того же?
  • Как я могу добавить пакет к установке Ubuntu по умолчанию?
  • Как подключить исходный код функции elisp в Emacs?
  • Linux и Unix - лучшая ОС в мире.