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

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

  • Конфигурация и синхронизация файлового сервера Samba для резервирования
  • Массовые убийства
  • aufs fs монтируется перед составными частями
  • Ubuntu: Невозможно связать свободный выход -lh с верхней командой ouput
  • Ограничения Wubi
  • При входе в терминал отображать пользовательский текст
  • xkill Используется на рабочем столе
  • Ошибки двойной загрузки Win10 / Ubuntu16.04
  • 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

    Interesting Posts

    Действительно ли режим Powersave на процессоре помогает экономить электроэнергию?

    Правильный способ распределения нескольких научных экспериментов на нескольких серверах?

    Почему ленточное устройство, например «/ dev / st0», не использует команды типа «cp» для копирования содержимого?

    Могу ли я подавить автозаполнение определенной категории в zsh?

    заменить полный запятый запятой

    Как получить поддержку CR2 (Canon raw) для XLoadImage?

    Linux Mint 14.1 не загружается из-за «безопасной загрузки»,

    Как условно сделать что-то, если команда выполнена успешно или не выполнена

    Сериализовать переменную оболочки в bash или zsh

    Синхронизировать IMAP с папками maildir – быстрое и полное решение с поддержкой IDLE?

    Руководство по сборке ядра Linux: результирующий двоичный файл в 10 раз больше, чем предварительно скомпилированные двоичные файлы

    Понимание выражения sed

    Система нагревается с недавних установок

    раскомментирование определенного кода в большем файле

    Имитировать x-экран?

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