Здравствуйте.
Есть у меня один сайт, под него взяли выделенный сервер FreeBSD.
Так вот, внезапно я поняла, что бекапы базы не делается.
Ничего сложного, подумала я, и нашла описания как это сделать
на сайте 1 и
на сайте 2На сайте 1 взяла порядок создания, с сайта 2 переписала баш скрипт. получилось вот что
#!/bin/sh
#резервное копирование БД postgresql
#директория сдампми
#DIR = "/home/admin/pgdump"
DIR = "pgdump"
mkdir -p $DIR
#путь к логу
LOG = "/home/admin/log/mkpgdump.log"
touch $LOG
TIMENAME = `date +%d.%m.%Y-%H.%M`
db=`psql -l | sed -n 4,/\eof/p | grep -v rows\) | grep -vE 'template[0|1]' | awk {'print $1'}`
for n in $db; do
TIMEDUMP = `date '+%T %x'`
echo "beckup and vacuum has been done at $TIMEDUMP : $TIMENAME on db: $n" >> $LOG
vacuumdb -z $n >/dev/null 2>&1
pg_dump $n | gzip -c > "$DIR/db-$n-$TIMENAME.dump.gz"
done
Сам файл mkpgdump находится в /home/admin/
Запустила по крону. приходит сообщение об ошибках мне на почту
И тут я сдулась. Ничего не понимаю. Ну т.е. понимаю, что файлы не найдены, я создала даже папки
/home/admin/pgdump
/home/admin/log
Чего не хватает, может прав? я делала все под рутом, а крон это наверно отдельный пользователь.
Примечание:
На исполняемый файл mkpgdump стоят права 711
Помогите понять как исправить ошибки.
Спустя 18 минут, 56 секунд (13.09.2011 - 05:50) vital написал(а):
1. в DIR
запишите полный путь
2. Вы из какой папки скрипт запускали?
и еще.
Вы уверены что
#!/bin/sh
а не
#!/bin/bash
Спустя 4 минуты, 12 секунд (13.09.2011 - 05:54) olgatcpip написал(а):
Цитата |
1. в DIR запишите полный пут |
Такой?
DIR = "/home/admin/pgdump"
Цитата |
2. Вы из какой папки скрипт запускали? |
Я запускалю с крона, где он там, так найти не могу. crontab -e - все что я знаю про него
Цитата |
Вы уверены что #!/bin/sh а не #!/bin/bash |
Нет, не уверена. Я в первый раз написала bash и сам крон сругался, мол не найден файл /home/admin/mkpgdump
Спустя 7 минут, 31 секунда (13.09.2011 - 06:01) vital написал(а):
Во-первых, попробуйте запустить просто скрипт руками, без крона. Он работает вообще?
Спустя 2 минуты, 51 секунда (13.09.2011 - 06:04) olgatcpip написал(а):
vitalЯ бы с радостью, даже первым делом пробовала. Enter-ом пробовала.
Искала как это сделать по запросу
http://yandex.ru/yandsearch?text=freebsd+%...lid=46510&lr=62Скажите что набрать нужно в командной строке.
Я - чайник полный в администрировании. Спустя 3 минуты, 29 секунд (13.09.2011 - 06:08) vital написал(а):
sh imyaskripta.sh
под рутом или пользователем постгре
Спустя 2 минуты, 13 секунд (13.09.2011 - 06:10) olgatcpip написал(а):
Цитата |
b2bis# sh /home/admin/mkpgdump DIR: not found usage: mkdir [-pv] [-m mode] directory_name ... LOG: not found usage: touch [-A [-][[hh]mm]SS] [-acfhm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ... TIMENAME: not found psql: FATAL: no pg_hba.conf entry for host "[local]", user "root", database "postgres", SSL off
|
Спустя 30 минут, 31 секунда (13.09.2011 - 06:40) vital написал(а):
Хм. ну скрипт выглядит рабочим.
А вообще, он же пишет вам, что не найдены пути к директории\файлу.
СТранно, если указаны полные пути, и они точно есть.
_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький
блогв этом блоге публикую новые работы
WMR217126627282 wink.gif