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

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 ...

 

 


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

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


Скейтбординг » Самодельный слаломный скейт. Часть 5: Доска в сборе

Итак, чудом найдя все компоненты, я собрал свой скейт. Доска получилась крепкая и очень удобная. Дека жесткая, не "гуляет". Оказалось, что я зря беспо...


Игры под DOS » Twins (Близнецы)

Игра написана с использованием компилятора Borland Pascal 7. Смысл игры - открыть все ячейки на игровом поле. Ячейки остаются открытыми только в том ...


Демо на языке C » KSI Demo

Требования: Windows 95/98/XP или Linux Год: 2004   Пробная демка под Linux, сделанная с помощью мультиплатформенной библиотеки SDL. За основу вз...

RSS подписка

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


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

Внимание!

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

Доступны к просмотру следующие базы знаний:

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

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

 

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

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