<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: проверка выполнение сработала ли какая-либо команда в bash </title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html</link>
    <description>День добрый, есть скрипт который бекапит базы mysql. столкнулся с такой проблемой, поломалась как-то база и скрипт бекап делал zero размер с ошибкой но, делал. Возник вопрос как проверять что команды выполнились без ошибки? А если есть ошибка отправить сообщение на email.&lt;br&gt;Вот сам скрипт: &lt;br&gt;&lt;br&gt;mysqldump -uroot -hlocalhost -123456-dezS &amp;#8211;default-character-set=cp1251 par1 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par1-date &quot;+&#037;Y-&#037;m-&#037;d&quot;.sql.gz&lt;br&gt;&lt;br&gt;mysqldump -uroot -hlocalhost -123456-dezS &amp;#8211;default-character-set=cp1251 par2 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par2-date &quot;+&#037;Y-&#037;m-&#037;d&quot;.sql.gz&lt;br&gt;&lt;br&gt;mysqldump -uroot -hlocalhost -123456-dezS &amp;#8211;default-character-set=cp1251 par3 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par3-date &quot;+&#037;Y-&#037;m-&#037;d&quot;.sql.gz&lt;br&gt;&lt;br&gt;mysqldump -uroot -hlocalhost -123456-dezS &amp;#8211;default-character-set=cp1251 par4 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par4-date &quot;+&#037;Y-&#037;m-&#037;d&quot;.sql.gz&lt;br&gt;&lt;br&gt;#Удаляем файлы бекапов старше 7 дней tmpwatch -m 7d /var/backups/backup/mysql/&lt;br&gt;</description>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (sa1nt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#9</link>
    <pubDate>Thu, 21 Nov 2019 08:40:14 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Сделал - вроде работает.&lt;br&gt;&amp;gt; Замечательно.&lt;br&gt;&amp;gt; Там ещё много стружки можно снять.&lt;br&gt;&amp;gt; Имейте в виду, что если вы запускаете скрипт из Cron, то этот &lt;br&gt;&amp;gt; сервис сам умеет слать почту. Таким образом, в скрипте можно не &lt;br&gt;&amp;gt; возиться с настройкой и запуском mailx, а просто писать диагностику на &lt;br&gt;&amp;gt; стандартный вывод (stdout). Cron это подхватит, завернёт и скормит системному почтовику. &lt;br&gt;&amp;gt; Заодно пометит, если возвращённый код отличается от нуля.&lt;br&gt;&lt;br&gt;Спасибо за наводку.&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (Licha Morada)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#8</link>
    <pubDate>Wed, 20 Nov 2019 17:26:02 GMT</pubDate>
    <description>&amp;gt; Сделал - вроде работает.&lt;br&gt;&lt;br&gt;Замечательно.&lt;br&gt;&lt;br&gt;Там ещё много стружки можно снять.&lt;br&gt;Имейте в виду, что если вы запускаете скрипт из Cron, то этот сервис сам умеет слать почту. Таким образом, в скрипте можно не возиться с настройкой и запуском mailx, а просто писать диагностику на стандартный вывод (stdout). Cron это подхватит, завернёт и скормит системному почтовику. Заодно пометит, если возвращённый код отличается от нуля.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (Licha Morada)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#7</link>
    <pubDate>Wed, 20 Nov 2019 17:13:34 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&#091;оверквотинг удален&#093; &lt;br&gt;&amp;gt;&amp;gt; Воздержусь от описания собственно отправки на email. Однако порекомендую отправлять сообщение &lt;br&gt;&amp;gt;&amp;gt; не только в случае ошибки, но и при успешном выполнении, пусть &lt;br&gt;&amp;gt;&amp;gt; будет канарейкой. Включайте в сообщение достаточно информации, чтобы понять, кто именно &lt;br&gt;&amp;gt;&amp;gt; и на каком именно месте ошиблся, и что именно пытался сделать.&lt;br&gt;&amp;gt; не могли бы написать для меня ибо я не очень в этом &lt;br&gt;&amp;gt; деле. в долгу не останусь!&lt;br&gt;&lt;br&gt;Боюсь, что нет. Не мой бизнес.&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (sa1nt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#6</link>
    <pubDate>Wed, 20 Nov 2019 13:05:47 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; типа того.&lt;br&gt;&amp;gt;&amp;gt; Не лезте в базу из скрипта как root, создайте специального пользователя чтобы &lt;br&gt;&amp;gt;&amp;gt; смог прочесть всё для бакапа из правильных баз, но не смог &lt;br&gt;&amp;gt;&amp;gt; порочесть из неправильных или что-то испортить.&lt;br&gt;&amp;gt;&amp;gt; Воздержусь от описания собственно отправки на email. Однако порекомендую отправлять сообщение &lt;br&gt;&amp;gt;&amp;gt; не только в случае ошибки, но и при успешном выполнении, пусть &lt;br&gt;&amp;gt;&amp;gt; будет канарейкой. Включайте в сообщение достаточно информации, чтобы понять, кто именно &lt;br&gt;&amp;gt;&amp;gt; и на каком именно месте ошиблся, и что именно пытался сделать.&lt;br&gt;&amp;gt; не могли бы написать для меня ибо я не очень в этом &lt;br&gt;&amp;gt; деле. в долгу не останусь!&lt;br&gt;&lt;br&gt;Прошу прощения Был в отчаянии.&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (sa1nt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#5</link>
    <pubDate>Wed, 20 Nov 2019 12:33:10 GMT</pubDate>
    <description>Сделал - вроде работает.&lt;br&gt;email с авторизацией.&lt;br&gt;Вот код может пригодится кому.&lt;br&gt;&lt;br&gt;&lt;br&gt;#/bin/bash&lt;br&gt;&lt;br&gt;allerror=&quot;&quot;&lt;br&gt;&lt;br&gt;set -o pipefail&lt;br&gt;&lt;br&gt;mysqldump -user -hlocalhost -password --default-character-set=cp1251 par1 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par1-&#096;date &quot;+&#037;Y-&#037;m-&#037;d&quot;&#096;.sql.gz&lt;br&gt;if &#091; $? -ne 0 &#093;; then&lt;br&gt;  allerror=&quot;Backup базы par1 не выполнен&#092;n&quot;&lt;br&gt;fi&lt;br&gt;&lt;br&gt;mysqldump -user -hlocalhost -password --default-character-set=cp1251 par2 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par2-&#096;date &quot;+&#037;Y-&#037;m-&#037;d&quot;&#096;.sql.gz&lt;br&gt;if &#091; $? -ne 0 &#093;; then&lt;br&gt;  allerror=&quot;$&#123;allerror&#125;Backup базы par2 не выполнен&#092;n&quot;&lt;br&gt;fi&lt;br&gt;&lt;br&gt;mysqldump -user -hlocalhost -password --default-character-set=cp1251 par3 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par3-&#096;date &quot;+&#037;Y-&#037;m-&#037;d&quot;&#096;.sql.gz&lt;br&gt;if &#091; $? -ne 0 &#093;; then&lt;br&gt;  allerror=&quot;$&#123;allerror&#125;Backup базы par3 не выполнен&#092;n&quot;&lt;br&gt;fi&lt;br&gt;&lt;br&gt;mysqldump -user -hlocalhost -password --default-character-set=cp1251 par4 &amp;#124; gzip -c &amp;gt; /var/backups/backup/mysql/par4-&#096;date &quot;+&#037;Y-&#037;m-&#037;d&quot;&#096;.sql.gz&lt;br&gt;if &#091; $? -ne 0 &#093;; then&lt;br&gt;  allerror=&quot;$&#123;allerror&#125;Backu</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (erera22)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#4</link>
    <pubDate>Wed, 20 Nov 2019 11:46:41 GMT</pubDate>
    <description>mysqldump --any-dump-keys db &amp;gt; db.dump 2&amp;gt;/tmp/err&lt;br&gt;&#091; $? -eq 0 &#093; &amp;#124;&amp;#124; cat &quot;/tmp/err&quot;&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (sa1nt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#3</link>
    <pubDate>Wed, 20 Nov 2019 08:48:33 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Ну и, как водится, пара непрошенных советов: &lt;br&gt;&amp;gt; Не передавайте пароль mysqldump в командной строке, храните его в ~/.my.cnf или &lt;br&gt;&amp;gt; типа того.&lt;br&gt;&amp;gt; Не лезте в базу из скрипта как root, создайте специального пользователя чтобы &lt;br&gt;&amp;gt; смог прочесть всё для бакапа из правильных баз, но не смог &lt;br&gt;&amp;gt; порочесть из неправильных или что-то испортить.&lt;br&gt;&amp;gt; Воздержусь от описания собственно отправки на email. Однако порекомендую отправлять сообщение &lt;br&gt;&amp;gt; не только в случае ошибки, но и при успешном выполнении, пусть &lt;br&gt;&amp;gt; будет канарейкой. Включайте в сообщение достаточно информации, чтобы понять, кто именно &lt;br&gt;&amp;gt; и на каком именно месте ошиблся, и что именно пытался сделать. &lt;br&gt;&lt;br&gt;не могли бы написать для меня ибо я не очень в этом деле. в долгу не останусь!&lt;br&gt;</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (Licha Morada)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#2</link>
    <pubDate>Tue, 19 Nov 2019 16:29:06 GMT</pubDate>
    <description>&amp;gt; День добрый, есть скрипт который бекапит базы mysql. столкнулся с такой проблемой, &lt;br&gt;&amp;gt; поломалась как-то база и скрипт бекап делал zero размер с ошибкой &lt;br&gt;&amp;gt; но, делал. Возник вопрос как проверять что команды выполнились без ошибки? &lt;br&gt;&amp;gt; А если есть ошибка отправить сообщение на email.&lt;br&gt;&lt;br&gt;Придумыайте критерии по которым будете определять, удовлетворительно прошёл бекап или нет. Например: &lt;br&gt;&lt;br&gt;- Ловите exit code выполнения mysqldump. Имейте в виду &quot;что в лоб&quot; вы получите exit code выполнения gzip а не mysqldump. Типа&lt;br&gt;set -o pipefail&lt;br&gt;mysqldump какие-то-параметры-чтобы-была-ошибка &amp;#124; gzip -c &amp;gt; par.sql.gz&lt;br&gt;echo $?&lt;br&gt;&lt;br&gt;- Если при типичной ошибке получается размер файла 0, то это может оказаться уже полезно. Типа&lt;br&gt;if &#091; $(wc -c &amp;lt; par.sql.gz) -le 0 &#093; ...&lt;br&gt;&lt;br&gt;- Смотрите на содежимое получившегося файла, например, на количество незакоментированных строк и/или наличие какого-нибудь кодового слова. Типа&lt;br&gt;if zcat par.sql.gz &amp;#124; wc -l ...&lt;br&gt;if zcat par.sql.gz &amp;#124; grep волшебное-слово&lt;br&gt;&lt;br&gt;Ну и, как водится, пара непро</description>
</item>

<item>
    <title>проверка выполнение сработала ли какая-либо команда в bash  (Vlad)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/10288.html#1</link>
    <pubDate>Tue, 19 Nov 2019 15:58:39 GMT</pubDate>
    <description>http://kedar.nitty-witty.com/blog/mysql-database-backup-shell-script-with-status-email&lt;br&gt;</description>
</item>

</channel>
</rss>
