Сохранение результата между выполнением сценария

У меня есть скрипт в /opt который регулярно вызывается Cron. Сценарий должен писать и читать флаг состояния между выполнением. В каком каталоге я должен хранить флаг? Я думаю, что /tmp не может быть хорошим выбором, поскольку файл, содержащий флаг, не гарантируется сохранением между выполнением сценариев.

One Solution collect form web for “Сохранение результата между выполнением сценария”

Проверьте стандарт иерархии файловой системы, чтобы узнать, какие стандартные местоположения существуют в системе Linux.

Если вам нужно гарантировать сохранение файла между выполнением, то действительно /tmp не подходит. /tmp часто вытирается при перезагрузке, и обычно используется задание cron, которое удаляет старые нераскрытые файлы из /tmp .

/var/tmp обычно не удаляется автоматически. Он явно не должен быть уничтожен при перезагрузке. Это может быть приемлемым выбором; однако обратите внимание, что системный администратор может решить удалить этот каталог вручную, поэтому вы должны использовать его только в том случае, если у вас есть уверенность в том, что системный администратор узнает, что ваш файл не нужно удалять. Кроме того, /var/tmp является общедоступным (например, /tmp ), поэтому соблюдайте разрешения. В частности, обратите внимание, что если ваш скрипт еще не запущен, другой пользователь может создать файл по ожидаемому имени, а затем ваш скрипт будет работать с плохими данными.

Было бы лучше использовать локальное местоположение для пользователя, выполняющего сценарий. Если скрипт выполняется учетной записью пользователя пользователя, сохраните файл где-нибудь в домашнем каталоге пользователя (обычно это файл с точкой ). Если скрипт выполняется системной учетной записью, файл должен храниться где-то в каталоге /var , где файлы с изменяемыми файлами живут отдельно от файлов в /tmp . В частности, создайте каталог для своего скрипта в /var/lib и дайте ему соответствующие разрешения. Вариантом является создание каталога в /var/opt (соглашение об использовании /var/opt/PACKAGENAME/ вместо /var/lib/PACKAGENAME/ для переменных данных, принадлежащих к пакету, код и статические данные которого находятся в /var/opt/PACKAGENAME/ не всегда соблюдается).

  • ошибка при выполнении команды find с использованием переменной
  • Шелл-скрипт, фильтрующий атрибуты файлов jpg
  • Что указывает период, когда переменная окружения задана как «VARIABLE_NAME =.»
  • Как реализовать горизонтальный кот?
  • Разрешения для сценария отправки
  • Выполнить скрипт автоматически при выключении Fedora 15/16
  • Проверьте, находится ли удаленный компьютер в кластере Veritas
  • Написание сценария, который показывает, сколько строк имеет «X» и «Y» в нем?
  • безопасная автоматизация сценария, для которого требуется ключ для выполнения своей задачи
  • Передача имени файла скриптам с функцией автозаполнения
  • Оптимизация производительности
  • Linux и Unix - лучшая ОС в мире.