LINUX.ORG.RU

sh скрипт перестает выполняться

 , ,


1

2

Здравствуйте, Debian 9, есть простой скрипт, который делает бекапы mysqldump, mongodump и в конце завершается. Дело в том, что базы слишком большие и бекапы делаются около 3-х часов в сумме. Если их делать раздельно - все ок, если вместе одним скриптом, то в какое-то время скрипт запущенный в фоне через & в конце строки, просто пропадает из jobs. Через ps ax | grep backup.sh тоже не светится. А лог бекапов заканчивается в любом месте, видимо когда выйдет какой-то лимит времени, примерно так:

http://i.shotnes.com/u/3122/0406/screenshot_7608.png Ну и естественно дальше команды никакие не выполняются, скрипт не выполняет работу до конца.

Что может останавливать выполнения процесса? Пытался найти в гугле про bash/sh timeout или time execution, но безуспешно.. Спасибо.

А что мешает вести лог бекапа в файл, и уже в него смотреть почему все отваливается ?

Samamy ★★★
()
Ответ на: комментарий от Samamy

А что мешает вести лог бекапа в файл

Кружок «неумелые ручки» мешает.

anonymous
()
Ответ на: комментарий от Samamy

Так лог же ведется, в конце пустая строка и ничего не происходит. Скриншот, что я в сообщении выше приложил и есть этот лог. Команду запускаю вот так:

/root/backups.sh &>logBackups.txt &

Machine
() автор топика
Ответ на: комментарий от Machine

Смотрите /var/log/messages да systemdшный журнал, может у вас там какой oom-killer приходит или что-то подобное.

micronekodesu ★★★
()

Сигнал какой-нибудь может прилететь, который твой скрипт не умеет обрабатывать. Например, SIGHUP.

Когда в следующий раз будешь запускать скрипт, подключись к нему с помощью strace и посмотри потом в логе, что происходит. Как подключиться к запущенному процессу и как сохранить лог, написано в man-странице strace.

i-rinat ★★★★★
()
Ответ на: комментарий от Samamy

Хорошо, спасибо, попробую и отпишусь. Так же подключу strace.

Machine
() автор топика
Ответ на: комментарий от i-rinat

Закомментировал бекапы mongo, mysql, оставил clickhouse ради теста. Происходит то же самое с любой базой, если скрипт работает долго, то конца бекапа можно и не дождаться. https://pastebin.com/1uBjWQCp - лог почти с момента старта скрипта, когда sh повис и пропал из jobs, strace в конце лога выдал detached, получается полезной информации нет..

error.log clickhouse - https://pastebin.com/UEZsBZWg В конце можно увидеть: TCPHandler: Client has gone away.

Эти ошибки были и вчера-позавчера, т.е. можно сделать вывод, что скрипт просто завершает своё выполнение.

Machine
() автор топика
Ответ на: комментарий от Machine

Лог strace, точнее, его окончание, выглядит так, будто кто-то завершил strace до того, как шел завершился сам. Если программа завершается сама, в логе будет что-то вроде

exit_group(0)                           = ?
+++ exited with 0 +++

Похоже, что-то убивает процессы. Больше идей нет.

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

jobs - список задач запущенных в фоновом режиме

Machine
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.