К нужной команде добавляется определенный код, который позволяет получить в текстовый файл (лог) результат выполнения введенной команды. Особенно актуально при настройке команды для выполнения в 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
я уже это всё где-то видел
Вы абсолютно правы. В этом что-то есть и мне кажется это очень хорошая мысль. Полностью с Вами соглашусь.