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

RSS подписка

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

Проекты / Код

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

 

 



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

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


Компьютерное оборудование оптом купить компьютер оптом.

Внимание!


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

 

База Xintrea (стр. 1)

База Rarrugas (стр. 1)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean (стр. 1)

База Аrmagedec

База SorokinRed

База Deadelf79

База Adgaver (стр. 1)

База Pipitos1983

База Silenn (стр. 1)

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

База Velonski (стр. 1)

База BrokeRU (стр. 1)

База Mcold (стр. 1)

База Alensav (стр. 1)

База Alensav2 (стр. 1)

База Consp11 (стр. 1)

База Kozlov-AE (стр. 1)

База Wwwlir (стр. 1)

База Duwaz (стр. 1)

 

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

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База RuDennn (Bunny-Hop)

База Manakaden

База Vitvrn

База Fanrok

База Grimar

База_Juryak

База Nicolasomsk

База Azatserikbaev

База Shut913

 

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

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