Срабатывает пользовательский крон, но не работает скрипт.

Операционки на базе Unix
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Срабатывает пользовательский крон, но не работает скрипт

Сообщение Infernal Flame » 01 авг 2012, 20:32

Phantom
сдается мне, что все же все это дело упирается в конечное приложение, юзаемое в скрипте. Может оно просто не хотит работать по крону %)
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Аватара пользователя
Phantom
Эникейщик
Эникейщик
Сообщения: 266
Зарегистрирован: 18 май 2012, 16:34
ОС: ARCH Linux
Откуда: Брянск
Контактная информация:

Re: Срабатывает пользовательский крон, но не работает скрипт

Сообщение Phantom » 02 авг 2012, 10:21

*HI*
Все заработало. Надо будет проштудировать доку по bash. Вот как ЭТО делается.
1. Создаем фаил crontab.

Код: Выделить всё

touch /home/user/тут_спец_папка_для_скриптов/cron (cron это я к примеру назвал, вообще как угодно)
2. Инициализируем пользовательский crontab в домашней директории.

Код: Выделить всё

crontab -u    имя_пользователя     путь до файла
3. ПРАВИЛЬНО заходим и редактируем crontab.

Код: Выделить всё

crontab -e -u имя_пользователя
4. Там заносим следующее

Код: Выделить всё

SHELL=/bin/sh
# В переменную окружения я добавил директорию где лежит скрипт, поскольку крон про неё не знает.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/andrew/scripts/

#Делаем себе обязательную памятку
# * * * * * выполняемая команда
# - - - - -
# | | | | |
# | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
# | | | ------- Месяц (1 - 12)
# | | --------- День (1 - 31)
# | ----------- Час (0 - 23)
# ------------- Минута (0 - 59)

# Из за того, что не указал дисплей обои менялись хрен знает где
*/1 * * * * еxport DISPLAY=:0 && /home/andrew/scripts/autowalpaper.sh
Сохраняем.

5. Далее сам скрипт. Заходим в /home/andrew/scripts/autowalpaper.sh

Код: Выделить всё

#!/bin/sh
GSET='/usr/bin/gsettings'
SCHEMA="org.gnome.desktop.background"
KEY="picture-uri"
DIR='/home/andrew/Walpapers'
cd "$DIR"
PICT=$(ls | shuf -n 1)
$GSET set $SCHEMA $KEY "file:///home/andrew/Walpapers/$PICT"
exit 0
Все делается под обычным пользователем и обои красиво раз в минуту меняются)

Выхлоп нормальный

Код: Выделить всё

Aug  2 08:48:01 localhost CRON[6370]: (andrew) CMD (export DISPLAY=:0 && /home/andrew/scripts/autowalpaper.sh)
Без ошибок и предупреждений.

Если у кого будут поправки, то welcome, но это полностью рабочая схема....для ubuntu 11.10 уж точно. *HALLO*
01010000011010000110000101101110011101000110111101101101
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Срабатывает пользовательский крон, но не работает скрипт

Сообщение Infernal Flame » 02 авг 2012, 12:39

Phantom
Ну поздравляю :)
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Ответить

Вернуться в «Unix»