Архив метки: Bash

Оболочка не перенаправляет вывод tar в файл.

Я предполагаю, что это простая проблема, но мне не с кем перепроверить свою работу.

Вот мой bash скрипт

#!/bin/bash# установить формат даты и имя дампаDATE=$(date +»%Y%m%d-%H%M»)DUMPFILE=$DATE.dump# путь к каталогу логов и имя выходного лог-файла LOGDIR=/opt/mongodb/backups/logsDBLOG=$DATE-dump.log# сделать резервное копирование базы данных и вывести в файл дампа, перенаправить вывод в логdocker exec -i mongodb sh -c «mongodump —archive» > $DUMPFILE 2> $LOGDIR/$DBLOG# архивировать файл дампа и загрузки файловARCHIVENAME=$DATE.tgzARCHIVELOG=$DATE-archive.logtar -czvf $ARCHIVENAME /opt/mongodb/$DUMPFILE /opt/mongodb/files &> $LOGDIR/$ARCHIVELOG Читать →

Bash-скрипт, выполнять команду while, пока она не выводит значение.

Вопрос или проблема

Я пытаюсь написать bash-скрипт (совсем новичок в этом, кстати) на системе Linux, и я в основном хочу, чтобы он выполнял команду каждые 5 секунд, пока другая команда не выводит значение.

Итак, на данный момент у меня есть

xev | grep -A2 —line-buffered -E ‘ButtonRelease’ | grep -o ‘button 1’

что по сути выводит “button 1”, когда я кликаю по окну xev. Я хочу запускать отдельную команду каждые 5 секунд до тех пор, пока я не нажму на окно xev, после чего скрипт остановится. Читать →

🐧 Как отправлять сообщения syslog с помощью утилит командной строки

Отправка сообщений syslog с помощью утилит командной строки logger, bash и netcat.

Предварительная информация

Сначала прочитайте RFC 3164 The BSD syslog Protocol и RFC 5424 The Syslog Protocol, поскольку эти RFC-документы очень важны для понимания поведения протокола syslog.

Вначале необходимо знать, что приоритет сообщения вычисляется по формуле (Facility * 8) + Severity, поэтому user.notice – это (1 * 8) + 5), что означает 13 приоритет. Читать →

🐧 Как встраивать документацию в скрипты Bash

Документирование работы приложения, его назначения и предполагаемого использования действительно важно, даже если речь идет о простом shell-скрипте.

Для облегчения сопровождения кода в самых простых случаях документация может быть встроена непосредственно в скрипты.

В этом руководстве мы узнаем, как включать синтаксис Pearl’s Plain Old Documentation (POD) в скриптах bash и как преобразовывать его в различные форматы с помощью утилит pod2, таких как pod2man и pod2html. Читать →

Кодирование и декодирование Base64 из командной строки

Кодирование — это процесс, используемый для преобразования данных в формат, необходимый для эффективной передачи или хранения. Напротив, декодирование противоположно методу кодирования, который преобразует закодированные данные обратно в исходный формат. Base64 — это процесс кодирования, при котором двоичные данные преобразуются в ASCII. Кодирование Base64 в основном требуется, чтобы избежать проблем с передачей, возникающих при передаче двоичных данных в текстовые системы, которые не могут правильно обрабатывать двоичные данные. В результате информация теряется или искажается при передаче. Читать →

Написание скриптов на Bash

Каким бы простым ни был графический интерфейс в Linux и сколько бы там ни было функций, все равно есть задачи, которые удобнее решать через терминал. Во-первых, потому что это быстрее, во-вторых — не на всех машинах есть графический интерфейс, например, на серверах все действия выполняются через терминал, в целях экономии вычислительных ресурсов.

Если вы уже более опытный пользователь, то, наверное, часто выполняете различные задачи через терминал. Часто встречаются задачи, для которых нужно выполнять несколько команд по очереди, например, для обновления системы необходимо сначала выполнить обновление репозиториев, а уже затем скачать новые версии пакетов. Это только пример и таких действий очень много, даже взять резервное копирование и загрузку скопированных файлов на удаленный сервер. Поэтому, чтобы не набирать одни и те же команды несколько раз можно использовать скрипты. В этой статье мы рассмотрим написание скриптов на Bash, рассмотрим основные операторы, а также то как они работают, так сказать, bash скрипты с нуля.

Читать →