Мне нужно запустить скрипт при первом входе в систему за день. Я могу перезагрузиться или выключиться, а затем включить питание в течение дня. Но я не хочу, чтобы работа выполнялась во время этих бонусов. Это должно работать только один раз в день.
3 ответа
используйте anacron
:
Anacron может использоваться для периодического выполнения команд с частотой, указанной в днях. В отличие от cron(8), он не предполагает, что машина работает непрерывно. Следовательно, его можно использовать на машинах, которые не работают 24 часа в сутки, для контроля ежедневных, еженедельных и ежемесячных заданий, которые обычно контролируются cron.
прочитайте всю справочную страницу.
Я не стал бы делать это с помощью cron - вместо этого, сконфигурируйте скрипт для запуска всякий раз, когда вы входите в систему, возможно, вызывая его в ~/.bashrc
или что-то в этом роде. Затем поместите некоторый код в начало скрипта, чтобы проверить время изменения файла маркера (вы можете выбрать любое имя и путь, который вам нравится для файла маркера), и, если он был изменен в текущий день, сделайте скрипт правым. далеко. После этого touch
файла маркера, чтобы обновить время его изменения, и тогда скрипт сможет продолжить работу.
Вызовите скрипт из вашего bash_profile. Таким образом, он будет запускаться при каждом входе в систему.
Сделайте необходимые ограничения, такие как, запустите его в первый раз, а затем зарегистрируйте его в файле. Каждый запуск должен прочитать журнал, чтобы понять, следует ли продолжить или выйти.
Обновление: для открытия приложения с графическим интерфейсом пользователя при любом входе в систему в любом случае (не только при первом входе в систему, используйте для этого технику маркера касания), вот учебник: Как автоматически запускать приложения во время запуска