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

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

  • Оптимальная настройка для Windows и Linux - совместное использование и разделение
  • Могут ли приложения, подобные VirtualBox, запускаться при запуске без участия пользователей в ubuntu?
  • Апричность ОС не отображается в grub
  • файлы сохраняются на диске ntfs, придерживаясь umask, ext4 не
  • Сеть Ubuntu 12.04 hotspot wifi не отображается для Android 4.1.2
  • Как преобразовать эти данные в читаемый человеком формат
  • * ОШИБКА * время ожидания ожидания включения панели
  • Использование ОЗУ не складывается? (Бесплатно + используется <итого)
  • 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

    Linux и Unix - лучшая ОС в мире.