Собираем
информацию
по крупицам

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, http://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 ...

 

 


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

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


Mplayer / Mencoder » Как с помощью Mencoder заменить в фильме звуковую дорожку

Рецепт очень простой.   Чтобы заменить в фильме звуковую дорожку и вывести результат в файл out.avi, делаем так:   $ mencoder исходный_файл....


Flash-анимация » Анимированый логотип портала RockFM.ru

Оборудование: Pentium-200MMX, RAM 32Мб Среда: Xara X, Flash MX Год: 2002   Этот логотип я разработал для портала RockFM.ru. Задача стояла следую...


Интерфейс и юзабилити » Оформление кода: Почему я выбрал для себя отступ в 2 пробела?

В мире программирования существует достаточно холиварная тема: "Каким должен быть отступ в коде"?   Оставим за бортом споры по теме "Форматироват...

RSS подписка

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


Купить велосипед электро - электрические велосипеды vamvelosiped.ru.

Внимание!


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

 

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

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

 

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

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

 

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

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