Замена run-anacronjobs на run-parts решает проблему.
В чем, собственно, у вас проблема?
Created attachment 6348 [details] Простой бекап системы.
Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с 2008 года. Приложил файл, запускаем anacron -f и сморим. Сделал исправление на http://git.altlinux.org/tasks/147910/
(In reply to comment #3) > Проблема в том что скрипт run-anacronjobs кривой и пакет нерабочий уже с 2008 > года. Обоснуйте, пожалуйста. > Приложил файл, запускаем anacron -f и сморим. Подробнее, пожалуйста. > Сделал исправление на http://git.altlinux.org/tasks/147910/ Это не исправление, а откат изменений, сделанных в 2.3-alt2. Из того, что вы на данный момент сообщили, складывается ощущение, что у вас local misconfiguration, которую вы пытаете побороть на уровне дистрибутива.
> > Проблема в том что скрипт 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?
(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?
> Непонятно, почему нельзя потестировать на чем-нибудь попроще. Потому что простые 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
Так что не понятно для кого и для чего этот фильтр был добавлен.
Единственное существенное семантическое различие между run-parts и run-anacronjobs заключается в том, что run-parts выполняется в режиме "set +e", а run-anacronjobs - в режиме "set -e", т.е. останавливается после первого обломившегося executable. Просьба автора прокомментировать причину этого изменения.
(В ответ на комментарий №9) > Единственное существенное семантическое различие между run-parts и > run-anacronjobs заключается в том, что run-parts выполняется в режиме "set +e", > а run-anacronjobs - в режиме "set -e", т.е. останавливается после первого > обломившегося executable. Не только. Различие ещё и в TASK_FILTER. Собственно run-anacronjobs был создан из run-parts, поэтому они так похожи. По поводу "set -e", то наверно он некорректен т.к. из-за этого задачи лексикографически идущие раньше влияют на последующие. > Просьба автора прокомментировать причину этого изменения. Это было сделано для того, чтобы была возможность не запускать определённые задания при определённых условиях (о чём гласит комментарий). Например: не заниматься индексированием манов или osec, или любые затратные операции, если ноут на батарейке. Насколько это изменение используется и актуально я не знаю. Призываю вероятного заказчика этой фичи.
ldv@ вы приняли этот коммит, а теперь спрашивает для чего он. 7 лет прошло))
OffTopic: Дмитрий, знает, что я помню :)
(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 починится, верно?
> В этом и был мой вопрос. > Я тоже считаю, что надо запускать все executables, подлежащие запуску. > Исправишь? Хорошо. > 2mvk: если в run-anacronjobs заменить "set -e" на "set +e", то у вас anacron > починится, верно? Присоединяюсь к вопросу.
(В ответ на комментарий №10) > > Просьба автора прокомментировать причину этого изменения. > [...] Например: не заниматься индексированием манов или osec, > или любые затратные операции, если ноут на батарейке. [...] > Призываю вероятного заказчика этой фичи. Точно не помню, но одно время и впрямь пытался сделать на эту тему что-то в на локалхосте и в дистрибутиве, затем поубирал пакеты вроде makewhatis (и к тому времени пакеты вроде osec в десктопные дистрибутивы не попадали, что вообще-то жаль) и как-то всё забыл напрочь. Обсуждения на эту тему могут найтись по слову idlewrap, см. тж. одноименный пакет и bug 3193 (кстати, у нас будто бы сломался автолинкинг таких "ссылок").
Не надо ничего менять! Чел. загружен и не в состоянии поддерживать пакет и точка.
(In reply to comment #14) > > В этом и был мой вопрос. > > Я тоже считаю, что надо запускать все executables, подлежащие запуску. > > Исправишь? > > Хорошо. > > > 2mvk: если в run-anacronjobs заменить "set -e" на "set +e", то у вас anacron > > починится, верно? > > Присоединяюсь к вопросу. на самом деле не важно, починится или нет, exit status от "$f" "$@" все равно надо игнорировать.
(В ответ на комментарий №17) > на самом деле не важно, починится или нет, exit status от "$f" "$@" все равно > надо игнорировать. Согласен. Исправлю.
Fixed.