Вывод результата выполнения команды в файл

Автор: | 08.08.2019

К нужной команде добавляется определенный код, который позволяет получить в текстовый файл (лог) результат выполнения введенной команды. Особенно актуально при настройке команды для выполнения в Cron или если терминал, к примеру, крашится после какой-либо команды.

Добавляем в конец нужной команды в терминале и получим выдаваемый терминалом текст в указанном файле (вместо отображения в самом терминале):

>> полныйпутькфайлу 2>&1

Например:

service mysqld start >> /home/admin456/log-mysql.log 2>&1

В результате получим в файле по адресу /home/admin456/log-mysql.log текст выполнения команды service mysqld start. У меня это была ошибка, так как мускул не хотел стартовать:

/usr/bin/mysqld_safe: line 198: 6778 Killed nohup /usr/sbin/mysqld —basedir=/usr —datadir=/var/lib/mysql —plugin-dir=/usr/lib64/mysql/plugin —user=mysql —log-error=/var/log/mysqld.log —pid-file=/var/run/mysqld/mysqld.pid —socket=/var/lib/mysql/mysql.sock < /dev/null > /dev/null 2>&1
MySQL Daemon failed to start.
Starting mysqld: [FAILED]

К слову, так и не нашел в чем причина, но перезагрузка всего сервера помогла. Думаю, не хватает ресурсов, поэтому почистил лишние неиспользуемые базы данных и прочий мусор.

Кстати, для вывода в файл определенного текста (например, в скрипте), можно использовать команду в таком виде (я использовал для выполнения скрипта в bash через задачу в Cron):

echo «[$(date)] [Restarted MySQL]» >> /home/admin456/log-mysqlrestarter.txt

В первой части команды echo — это просьба на вывод (и далее в кавычках написано что конкретно нужно вывести), [$(date)] — вставляет  текущие дату и время, [Restarted MySQL] — просто любой текст для вас (у меня он означал что перезагрузка мускула произошла), >> — собственно переводит вывод в файл и дальше указан путь к файлу.

Команда на выполнение в кроне у меня была такая:

sudo /bin/sh /home/admin456/mysqlcheck.sh >> /home/admin456/log-cron.log 2>&1













Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован.