Bug 31198 - anacron - не запускает скрипты
: anacron - не запускает скрипты
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/anacron)
: unstable
: all Linux
: P3 enhancement
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2015-08-07 12:49 by
Modified: 2016-02-08 10:43 (History)


Attachments
Простой бекап системы. (527 bytes, application/x-shellscript)
2015-08-20 12:15, Mikhail Kolchin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2015-08-07 12:49:59
Замена run-anacronjobs на run-parts решает проблему.
------- Comment #1 From 2015-08-20 10:39:26 -------
В чем, собственно, у вас проблема?
------- Comment #2 From 2015-08-20 12:15:47 -------
Created an attachment (id=6348) [details]
Простой бекап системы.
------- Comment #3 From 2015-08-20 12:21:30 -------
Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с 2008
года. Приложил файл, запускаем anacron -f и сморим. Сделал исправление на
http://git.altlinux.org/tasks/147910/
------- Comment #4 From 2015-08-20 12:32:01 -------
(In reply to comment #3)
> Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с 2008
> года.

Обоснуйте, пожалуйста.

> Приложил файл, запускаем anacron -f и сморим.

Подробнее, пожалуйста.

> Сделал исправление на http://git.altlinux.org/tasks/147910/

Это не исправление, а откат изменений, сделанных в 2.3-alt2.

Из того, что вы на данный момент сообщили, складывается ощущение, что у вас
local misconfiguration, которую вы пытаете побороть на уровне дистрибутива.
------- Comment #5 From 2015-08-20 12:54:21 -------
> > Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с
> > 2008 года.
> 
> Обоснуйте, пожалуйста.

run-anacronjobs он вообще для чего был туда положен? run-parts делает тоже
самое.

> > Приложил файл, запускаем anacron -f и сморим.
> 
> Подробнее, пожалуйста.

Положите в папки cron.{daily,weekly,monthly} и потестируйте.

> > Сделал исправление на http://git.altlinux.org/tasks/147910/
> 
> Это не исправление, а откат изменений, сделанных в 2.3-alt2.
> 
> Из того, что вы на данный момент сообщили, складывается ощущение, что у вас
> local misconfiguration, которую вы пытаете побороть на уровне дистрибутива.

Так для чего собственно run-anacronjobs?
------- Comment #6 From 2015-08-20 13:19:49 -------
(In reply to comment #5)
> > > Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с
> > > 2008 года.
> > 
> > Обоснуйте, пожалуйста.
> 
> run-anacronjobs он вообще для чего был туда положен? run-parts делает тоже
> самое.

Неужели?

> > > Приложил файл, запускаем anacron -f и сморим.
> > 
> > Подробнее, пожалуйста.
> 
> Положите в папки cron.{daily,weekly,monthly} и потестируйте.

Этот скрипт обладает нетривиальными зависимостями, требует нетривиальной
конфигурации и потому не подходит для тестирования без создания специального
стенда, подробную конфигурацию которого вы не приложили.

Непонятно, почему нельзя потестировать на чем-нибудь попроще.

> > > Сделал исправление на http://git.altlinux.org/tasks/147910/
> > 
> > Это не исправление, а откат изменений, сделанных в 2.3-alt2.
> > 
> > Из того, что вы на данный момент сообщили, складывается ощущение, что у вас
> > local misconfiguration, которую вы пытаете побороть на уровне дистрибутива.
> 
> Так для чего собственно run-anacronjobs?

В самом деле, зачем run-anacronjobs?
------- Comment #7 From 2015-08-20 14:14:35 -------
> Непонятно, почему нельзя потестировать на чем-нибудь попроще.

Потому что простые bach скрипты состоящие из пару строчек он исправно
запускает.
А тут заметил, что если добавить gpg шифрование то скрипт не запускается, так
что проще уже нельзя.

#!/bin/bash

SERVER_NAME="server1"
TIME=`date +%Y-%m`

GPG_COMMAND="gpg -c -z 0 --batch --passphrase passw0rd"

FS_FILE=/tmp/$SERVER_NAME-fs.$TIME.tar.gz.gpg

tar -cz /etc | $GPG_COMMAND > $FS_FILE
------- Comment #8 From 2015-08-20 14:25:50 -------
Так что не понятно для кого и для чего этот фильтр был добавлен.
------- Comment #9 From 2015-08-20 14:35:05 -------
Единственное существенное семантическое различие между run-parts и
run-anacronjobs заключается в том, что run-parts выполняется в режиме "set +e",
а run-anacronjobs - в режиме "set -e", т.е. останавливается после первого
обломившегося executable.

Просьба автора прокомментировать причину этого изменения.
------- Comment #10 From 2015-08-20 16:04:55 -------
(В ответ на комментарий №9)
> Единственное существенное семантическое различие между run-parts и
> run-anacronjobs заключается в том, что run-parts выполняется в режиме "set +e",
> а run-anacronjobs - в режиме "set -e", т.е. останавливается после первого
> обломившегося executable.

Не только. Различие ещё и в TASK_FILTER. Собственно run-anacronjobs был создан
из run-parts, поэтому они так похожи. По поводу "set -e", то наверно он
некорректен т.к. из-за этого задачи лексикографически идущие раньше влияют на
последующие.

> Просьба автора прокомментировать причину этого изменения.

Это было сделано для того, чтобы была возможность не запускать определённые
задания при определённых условиях (о чём гласит комментарий). Например: не
заниматься индексированием манов или osec, или любые затратные операции, если
ноут на батарейке.

Насколько это изменение используется и актуально я не знаю.

Призываю вероятного заказчика этой фичи.
------- Comment #11 From 2015-08-20 17:27:04 -------
ldv@ вы приняли этот коммит, а теперь спрашивает для чего он. 7 лет прошло))
------- Comment #12 From 2015-08-20 17:51:25 -------
OffTopic: Дмитрий, знает, что я помню :)
------- Comment #13 From 2015-08-20 18:48:03 -------
(In reply to comment #10)
> (В ответ на комментарий №9)
> > Единственное существенное семантическое различие между run-parts и
> > run-anacronjobs заключается в том, что run-parts выполняется в режиме "set +e",
> > а run-anacronjobs - в режиме "set -e", т.е. останавливается после первого
> > обломившегося executable.
> 
> Не только. Различие ещё и в TASK_FILTER.

Про TASK_FILTER мне все понятно.

> По поводу "set -e", то наверно он некорректен т.к. из-за этого задачи
> лексикографически идущие раньше влияют на последующие.

В этом и был мой вопрос.
Я тоже считаю, что надо запускать все executables, подлежащие запуску.
Исправишь?

2mvk: если в run-anacronjobs заменить "set -e" на "set +e", то у вас anacron
починится, верно?
------- Comment #14 From 2015-08-20 18:56:50 -------
> В этом и был мой вопрос.
> Я тоже считаю, что надо запускать все executables, подлежащие запуску.
> Исправишь?

Хорошо.

> 2mvk: если в run-anacronjobs заменить "set -e" на "set +e", то у вас anacron
> починится, верно?

Присоединяюсь к вопросу.
------- Comment #15 From 2015-08-20 19:16:00 -------
(В ответ на комментарий №10)
> > Просьба автора прокомментировать причину этого изменения.
> [...] Например: не заниматься индексированием манов или osec,
> или любые затратные операции, если ноут на батарейке. [...]
> Призываю вероятного заказчика этой фичи.
Точно не помню, но одно время и впрямь пытался сделать на эту тему что-то в на
локалхосте и в дистрибутиве, затем поубирал пакеты вроде makewhatis (и к тому
времени пакеты вроде osec в десктопные дистрибутивы не попадали, что вообще-то
жаль) и как-то всё забыл напрочь.

Обсуждения на эту тему могут найтись по слову idlewrap, см. тж. одноименный
пакет и bug 3193 (кстати, у нас будто бы сломался автолинкинг таких "ссылок").
------- Comment #16 From 2015-08-21 00:39:29 -------
Не надо ничего менять! Чел. загружен и не в состоянии поддерживать пакет и
точка.
------- Comment #17 From 2015-08-21 00:49:45 -------
(In reply to comment #14)
> > В этом и был мой вопрос.
> > Я тоже считаю, что надо запускать все executables, подлежащие запуску.
> > Исправишь?
> 
> Хорошо.
> 
> > 2mvk: если в run-anacronjobs заменить "set -e" на "set +e", то у вас anacron
> > починится, верно?
> 
> Присоединяюсь к вопросу.

на самом деле не важно, починится или нет, exit status от "$f" "$@" все равно
надо игнорировать.
------- Comment #18 From 2015-08-21 12:25:44 -------
(В ответ на комментарий №17)
> на самом деле не важно, починится или нет, exit status от "$f" "$@" все равно
> надо игнорировать.

Согласен. Исправлю.
------- Comment #19 From 2016-02-08 10:41:57 -------
Fixed.