Запуск службы systemd один раз в день (в кластере CoreOS)

Из моего прошлого опыта работы с a2ps, он не обрабатывает упаковку разумным способом. Поэтому вы должны представить ваш текстовый файл, уже отформатированный до нужной ширины и обертки, перед тем, как передать его в a2ps.

Если в вашей системе установлен enscript, я бы воспользовался этим вместо него. Гуглинг для "word wrap a2ps" приведёт вас к статье под заголовком: Печать обычного текста, которая включает следующий пример enscript:

$ enscript --header='||Page $% of $=' \
    --margin=72:72:72:72 -1 \
    --word-wrap \
    --media=A4 file.txt

ПРИМЕЧАНИЕ: (одно дюймовое поле со всех сторон, 1 вверх, слово wrap, размер страницы A4, выровненный вправо заголовок, показывающий информацию о странице).

Посмотрите enscript --help и man-страницы для получения дополнительной информации об опциях, или google для получения дополнительных примеров. Я использовал enscript в течение многих лет для печати различных текстовых файлов и исходных кодов, и это "просто работает", как только вы получаете переключение, как вам нравится.

1
04.06.2015, 06:32
1 ответ

Только что извлечена ссылка, на которую ответил @ Lars Kotthof

Изменение префикса tmux на Alt + b:

set-option -g prefix M-b
-121--18005-

Вам придется написать короткий сценарий для анализа выходных данных и разделения чисел. Некоторые решения можно найти здесь https://stackoverflow.com/questions/10585978/linux-command-for-percentage-of-memory-that-is-free

Будьте осторожны. Что именно вы имеете в виду под словом «общий использованный»? Первая линия (Mem) не то, что ты хочешь... вторая строка лучше, поскольку кэшированная память должна считаться свободной, а не используемой. Затем также необходимо решить, следует ли выполнять подсчет свопа.

-121--253284-

Вам нужно научить ваше приложение отслеживать его собственное выполнение с помощью метода, который выживает после перезапуска/перемещения контейнера (может быть файлом в постоянной/общей файловой системе, некоторой информацией в базе данных, некоторой внешней координационной службой/приложением и т.д. - что удобно для вашего контекста).

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

Если это невозможно сделать внутри приложения, то вы можете обернуть приложение в пользовательскую обертку и сделать это внутри обертки.

0
28.01.2020, 01:39

Теги

Похожие вопросы