The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Echo на e-mail."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Echo на e-mail."  
Сообщение от Wert email(??) on 10-Мрт-07, 13:53 
Народ, вчера очень помогли с использоваием tar -)Еще раз спасибо человеку который все подсказал.

Вот еще такой вопрос:

Написал вот такой ламерский скриптик :)

########################################################################################
#!/bin/sh
echo started `date +%H`:`date +%M`
cd /var/ftp/incoming/bases/; tar zcf ../../pub/base001/`date +%d%m%Y`.tar.gz base001
echo Finished `date +%H`:`date +%M` All Done...
########################################################################################

В общем запускаю его все отлично делается какой нужно архив скидывается куда нужно и в нужном мне виде.

Вопрос вот в чем.

Есть два echo. Рассписание работы скрипта указывается в /etc/crontab
Все делает отлично во время запускает, но естественно когда запускаю скрипт руками он выдает мне то, что говорит echo, когда запускается по рассписанию я конечно этого не вижу. Как сделать так, чтобы то, что пишет echo кидалось на мыло?

И заодно опишу задачу в целом, может кто нибудь подскажет как это сделать более грамотно.

Есть папки с базами, нужно из раз в сутки бекапить, архивы складывать =)
Но было бы отлично, чтобы на мыло приходило сообщение о том, что все готово и было бы просто совсем великолепно если бы в скрипте была какая то команда, которая проверяла бы ошибки при выполнении ну и результаты скидывала на мыло опять же.

Т.е. вот так:
Допустим в 0:00 запустился скрипт по рассписания из crontab, если все ок то на почту приходило бы вот так:
Started "Время старта"
Finished "Время окончания"
Errors "Количество ошибок"
- если ошибок ноль, то просто Errors 0
- если огибки есть, то "описание ошибки"


Заранее всем спасибо за ответы :) Форум выручал уже не раз, надеюсь, что и в этот раз помогут :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • Echo на e-mail., lavr, 14:53 , 10-Мрт-07, (1)  
    • Echo на e-mail., Wert, 15:10 , 10-Мрт-07, (2)  
      • Echo на e-mail., Mikhail, 16:16 , 10-Мрт-07, (3)  
        • Echo на e-mail., Wert, 17:02 , 10-Мрт-07, (4)  
          • Echo на e-mail., Wert, 17:28 , 10-Мрт-07, (5)  
            • Echo на e-mail., Mikhail, 18:06 , 10-Мрт-07, (6)  
              • Echo на e-mail., Wert, 18:16 , 10-Мрт-07, (7)  

Сообщения по теме [Сортировка по времени, UBB]


1. "Echo на e-mail."  
Сообщение от lavr email on 10-Мрт-07, 14:53 
>Народ, вчера очень помогли с использоваием tar -)Еще раз спасибо человеку который
>все подсказал.
>
>Вот еще такой вопрос:
>
>Написал вот такой ламерский скриптик :)
>
>########################################################################################
>#!/bin/sh
>echo started `date +%H`:`date +%M`
>cd /var/ftp/incoming/bases/; tar zcf ../../pub/base001/`date +%d%m%Y`.tar.gz base001
>echo Finished `date +%H`:`date +%M` All Done...
>########################################################################################
>
>В общем запускаю его все отлично делается какой нужно архив скидывается куда
>нужно и в нужном мне виде.
>
>Вопрос вот в чем.
>
>Есть два echo. Рассписание работы скрипта указывается в /etc/crontab
>Все делает отлично во время запускает, но естественно когда запускаю скрипт руками
>он выдает мне то, что говорит echo, когда запускается по рассписанию
>я конечно этого не вижу. Как сделать так, чтобы то, что
>пишет echo кидалось на мыло?
>
>И заодно опишу задачу в целом, может кто нибудь подскажет как это
>сделать более грамотно.
>
>Есть папки с базами, нужно из раз в сутки бекапить, архивы складывать
>=)
>Но было бы отлично, чтобы на мыло приходило сообщение о том, что
>все готово и было бы просто совсем великолепно если бы в
>скрипте была какая то команда, которая проверяла бы ошибки при выполнении
>ну и результаты скидывала на мыло опять же.
>
>Т.е. вот так:
>Допустим в 0:00 запустился скрипт по рассписания из crontab, если все ок
>то на почту приходило бы вот так:
>Started "Время старта"
>Finished "Время окончания"
>Errors "Количество ошибок"
> - если ошибок ноль, то просто Errors 0
> - если огибки есть, то "описание ошибки"
>
>
>Заранее всем спасибо за ответы :) Форум выручал уже не раз, надеюсь,
>что и в этот раз помогут :)

# echo Tru-la-la | mail -s "Notice from MyJob" user@host.domain

утилита mail -s "this is subject" address@e.mail < filename_with_body_text

про cron/crontab - поиск по форуму

PS. Почему бы прежде не воспользоваться поиском?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Echo на e-mail."  
Сообщение от Wert email(??) on 10-Мрт-07, 15:10 
>>Народ, вчера очень помогли с использоваием tar -)Еще раз спасибо человеку который
>>все подсказал.
>>
>>Вот еще такой вопрос:
>>
>>Написал вот такой ламерский скриптик :)
>>
>>########################################################################################
>>#!/bin/sh
>>echo started `date +%H`:`date +%M`
>>cd /var/ftp/incoming/bases/; tar zcf ../../pub/base001/`date +%d%m%Y`.tar.gz base001
>>echo Finished `date +%H`:`date +%M` All Done...
>>########################################################################################
>>
>>В общем запускаю его все отлично делается какой нужно архив скидывается куда
>>нужно и в нужном мне виде.
>>
>>Вопрос вот в чем.
>>
>>Есть два echo. Рассписание работы скрипта указывается в /etc/crontab
>>Все делает отлично во время запускает, но естественно когда запускаю скрипт руками
>>он выдает мне то, что говорит echo, когда запускается по рассписанию
>>я конечно этого не вижу. Как сделать так, чтобы то, что
>>пишет echo кидалось на мыло?
>>
>>И заодно опишу задачу в целом, может кто нибудь подскажет как это
>>сделать более грамотно.
>>
>>Есть папки с базами, нужно из раз в сутки бекапить, архивы складывать
>>=)
>>Но было бы отлично, чтобы на мыло приходило сообщение о том, что
>>все готово и было бы просто совсем великолепно если бы в
>>скрипте была какая то команда, которая проверяла бы ошибки при выполнении
>>ну и результаты скидывала на мыло опять же.
>>
>>Т.е. вот так:
>>Допустим в 0:00 запустился скрипт по рассписания из crontab, если все ок
>>то на почту приходило бы вот так:
>>Started "Время старта"
>>Finished "Время окончания"
>>Errors "Количество ошибок"
>> - если ошибок ноль, то просто Errors 0
>> - если огибки есть, то "описание ошибки"
>>
>>
>>Заранее всем спасибо за ответы :) Форум выручал уже не раз, надеюсь,
>>что и в этот раз помогут :)
>
># echo Tru-la-la | mail -s "Notice from MyJob" user@host.domain
>
>утилита mail -s "this is subject" address@e.mail < filename_with_body_text
>
>про cron/crontab - поиск по форуму
>
>PS. Почему бы прежде не воспользоваться поиском?

С кронтабом все ясно.

Когда запускаю скрипт /backup.sh >back.log

Он в файл back.log пишет только то, что выдает echo, но не дописывает туда то, что выдается на экране.

Допустим скрипт мне на экране пишет:
Started 14:37
tar: can'f find...
Finished 14:40

А в файле back.log я вижу только:
Started 14:37
Finished 14:40

А нужно так, чтобы в файле было:
Started 14:37
tar: can'f find...
Finished 14:40

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Echo на e-mail."  
Сообщение от Mikhail email(??) on 10-Мрт-07, 16:16 
"Ну вы, блин, даете..."

(sh -x) <path_to_script>/script.sh > <path_to_script>/script.log 2>&1 (&)

man (ba)sh, там куча интересного

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Echo на e-mail."  
Сообщение от Wert email(??) on 10-Мрт-07, 17:02 
>"Ну вы, блин, даете..."
>
>(sh -x) <path_to_script>/script.sh > <path_to_script>/script.log 2>&1 (&)
>
>man (ba)sh, там куча интересного


Спасибо, работает.

Единственное, что еще хотелось бы это выяснить вот такую штуку:

Добавляю коману в крон в виде
/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/`date +%d`.`date +%m`.`date +%Y`.log 2>&1
Крон отправляет сообщение руту: Syntax error: EOF in backquote substitution

Если добавить команду вот так:
/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/script.log 2>&1
Все ок, создает нормальный лог...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Echo на e-mail."  
Сообщение от Wert email(??) on 10-Мрт-07, 17:28 
>>"Ну вы, блин, даете..."
>>
>>(sh -x) <path_to_script>/script.sh > <path_to_script>/script.log 2>&1 (&)
>>
>>man (ba)sh, там куча интересного
>
>
>Спасибо, работает.
>
>Единственное, что еще хотелось бы это выяснить вот такую штуку:
>
>Добавляю коману в крон в виде
>/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/`date +%d`.`date +%m`.`date +%Y`.log 2>&1
>Крон отправляет сообщение руту: Syntax error: EOF in backquote substitution
>
>Если добавить команду вот так:
>/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/script.log 2>&1
>Все ок, создает нормальный лог...


Да и еще в писе руту команда выглядит не так:
>/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/`date +%d`.`date +%m`.`date +%Y`.log 2>&1
а вот так:
>/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/`date

Собственно отсюда понятно почему вылазит: Syntax error: EOF in backquote substitution, но как пофиксить?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Echo на e-mail."  
Сообщение от Mikhail email(??) on 10-Мрт-07, 18:06 
>>>man (ba)sh, там куча интересного

Опять туда же, на предмет закрытия спецсимволов.
А вот если в начале скрипта определить переменную (CURDATE=`date +%d%m%Y`, например), то такой ошибки не будет:
/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/${CURDATE}.log

Спорим? :)
И еще - man date - как получить нужный вывод, там много вариантов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Echo на e-mail."  
Сообщение от Wert email(??) on 10-Мрт-07, 18:16 
>>>>man (ba)sh, там куча интересного
>
>Опять туда же, на предмет закрытия спецсимволов.
>А вот если в начале скрипта определить переменную (CURDATE=`date +%d%m%Y`, например), то
>такой ошибки не будет:
>/var/ftp/pub/backup/backup.sh >> /var/ftp/pub/backup/logs/${CURDATE}.log
>
>Спорим? :)
>И еще - man date - как получить нужный вывод, там много
>вариантов.

Почитал man crontab - разобрался как в моем случае правильно вносить знак процента...

Все работает, спасибо огромное!!! :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру