Собираем
информацию
по крупицам
Проекты / Код

BASH

Cron Emulator
18-06-2013
11:50:48

Многие системные администраторы Linux часто сталкиваются с одной и той же проблемой: при попытке запуска команды из-под демона Cron, она ведет себя не так, как при обычном вызове из консоли. Не помогает даже настройка запуска из Cron под конкретным пользователем: запуск команды от данного пользователя работает нормально в консоли, и совершенно с другим результатом в Cron. Дело осложняется тем, что из-под крона невозможно увидеть что же на самом деле происходит. 

 

Cron Emulator - это небольшой скрипт, который создает среду запуска команд аналогичную среде Cron. Прописав в его конец интересуемые команды, можно отследить их выполнение "вживую", так, как будто они выполняются в Cron.

 

 

Использование

 

Пропишите команды после строки "# Examine commands", и запустите скрипт на выполнение. Команды будут выполнены от текущего пользователя с окружением, аналогичным Cron.

 

Для тех кто забыл: чтобы в Cron запускать скрипт от нужного пользоватя, его нужно просто узазать в строке запуска стрипта в файле /etc/crontab. Вот пример строки файла /etc/crontab с указанием имени пользователя:

 

0/1 * * * * ИмяПользователя Команда

 

 

Разработка

 

Работа скрипта проверена в CentOs 5.8 и в Debian Squeeze. Обсудить скрипт можно на форуме или написать автору на емайл (см. внизу страницы).

 

 

Скрипт

 

#!/bin/sh

 

# Cron Emulator v.0.1

# © Sergey M. Stepanov 2013, xintrea@gmail.com, https://webhamster.ru

# License: GPL v.3

 

userName=`whoami`

 

echo "Variable names:"

list=`export | sed 's/^export //' | sed 's/=.*//'`

echo $list

 

echo "Remove all variables"

for line in $list

do

 echo "Remove variable: $line"

 unset $line

done

 

export HOME="/home/${userName}"

export LOGNAME="${userName}"

export OLDPWD="/home/${userName}"

export PATH="/usr/bin:/bin"

export PWD="/home/${userName}"

export SHELL="/bin/sh"

export SHLVL="1"

export USER="${userName}"

 

echo "User variable set:"

export

 

echo "Run examine commands..."

 

# Examine commands

 

... Your commands ...

 

 



К списку проектов

Интересное на сайте


Платформа 1C:Предприятие » Установка сервера 1С 8.2 под Linux. Борьба с ошибкой "Error: service failed to start!"

Недавно устанавливал сервер 1С:Предприятие 8.2.15.319 в операционной системе CentOs 5.5. Вылезла проблема, на которую натыкаются многие системные адми...


Mplayer / Mencoder » Как усилить резкость и убрать квадраты при воспроизведении через Mplayer

Бывает так, что фильм требует небольшого повышения резкости при просмотре. Заодно, нужно сгладить квадраты, которые видны из-за сжатия с потерей качес...


Flash-анимация » Клип клуба "Сакура"

Оборудование: Pentium-200MMX, RAM 32Мб Среда: Flash MX Год: 2002   Этот клип я создавал, преследуя две цели.   Первая цель - разобраться с ...

RSS подписка

Подпишитесь на новости сайта по RSS

Поделиться этой страницей


Статистика



Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

База Adgaver (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

База Pipitos1983

База Soxsten

База Silenn

База Shlyapnikova - херомантия и ригидность

База Svoynickname

База Larson227

База Velonski

База BrokeRU

База Mcold

База Alensav (1, 2, 3)

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

База RuDennn

База Manakaden

База Vitvrn

База Fanrok

База Grimar

База_Juryak

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик