| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PostgreSQL > Ошибка при бэкапе |
| Автор: мотоИгорь 25.11.2022, 16:15 |
| Спокойно жили и долго бэкап делался, а недавно вдруг перестал создаю вот таким батником: CLS ECHO OFF CHCP 866 REM УКАЗАНИЕ ПЕРЕМЕННЫХ СРЕДЫ POSTGRESQL SET PGBIN=C:\Program Files\PostgreSQL\11.9-1.1C\bin SET PGDATABASE=rios_arautomation2_2020 SET PGHOST=10.15.1.10 SET PGPORT=5432 SET PGUSER=postgres SET PGPASSWORD=пароль REM ПЕРЕХОД В КАТАЛОГ С bat-ФАЙЛОМ (ОТКУДА ЗАПУЩЕН ФАЙЛ) %~d0 CD %~dp0 REM ФОРМИРОВАНИЕ ИМЕНИ ФАЙЛА ДЛЯ РЕЗЕРВНОЙ КОПИИ И LOG ФАЙЛА ОТЧЕТА SET DAT=%date:~0,2%%date:~3,2%%date:~6,4% SET DUMPFILE=E:\backups\PG\%DAT%-rios_arautomation2_2020.backup SET LOGFILE=E:\backups\PG\%DAT%-rios_arautomation2_2020.log SET DUMPPATH="%DUMPFILE%" SET LOGPATH="%LOGFILE%" REM ВЫПОЛНЕНИЕ КОМАНДЫ (ПРОГРАММЫ) ДЛЯ СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ БАЗЫ ::CALL "%PGBIN%\pg_dump.exe" --format=custom -U postgres --verbose --file=%DUMPPATH% 2>%LOGPATH% CALL "%PGBIN%\pg_dump.exe" --host localhost --port 5432 --username "postgres" --role "postgres" --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 --verbose --file %DUMPPATH% 2>%LOGPATH% REM ВЫПОЛНЕНИЕ КОМАНДЫ (ПРОГРАММЫ) ЗАВЕРШЕНО, ЕСЛИ ОШИБОК НЕТ ТО КОНЕЦ IF NOT %ERRORLEVEL%==0 GOTO Error GOTO Successfull REM ПРИ ВОЗНИКНОВЕНИИ ОШИБОК УДАЛЯЕТСЯ ПОВРЕЖДЕННЫЙ ФАЙЛ КОПИИ И СООТВЕТСТВУЮЩАЯ ЗАПИСЬ В ЖУРНАЛЕ О ЕЕ СОЗДАНИИ :Error DEL %DUMPPATH% MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup_rios_arautomation2_2020.log." ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> rios_arautomation2_2020.log GOTO End REM ЕСЛИ КОПИЯ СДЕЛАНА БЕЗ ОШИБОК ДЕЛАЕТСЯ ЗАПИСЬ В ЖУРНАЛЕ РЕГИСТРАЦИИ :Successfull ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup_rios_arautomation2_2020.log GOTO End :End Все было хорошо, а теперь не создает, а в логе выдает такое: pg_dump: dumping contents of table "public._inforg36608" pg_dump: [custom archiver] could not write to output file: Invalid argument места хватает, ничего по правам не менялось хэлп, мудрецы, куда смотреть, как делать бэкап???очень срочно, пожалуйста помогите также хотел добавить, что я пробовал альтернативно делать бэкап: @ECHO OFF CALL "C:\Program Files\PostgreSQL\11.9-1.1C\bin\pg_dump.exe" -h 10.15.1.10 -p 5432 -U "postgres" --role "postgres" --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 -v -d rios_arautomation2_2020 > "e:\backups\PG\%date%_rios_arautomation2_2020.backup" Вот этот делает всегда, но я так понимаю он неполноценный делает так как размер бэкапа прыгает по 4-5 гб меньше, куча ерроров дает при восстановлении, когда первый вариант стабильно выдает одинаковый размер+небольшое добавление. |
| Автор: Oldshelf 25.11.2022, 18:36 |
| :: - здесь что-то не то. |
| Автор: мотоИгорь 25.11.2022, 20:17 | ||
:: - это закомментированно означает, как и REM |
| Автор: мотоИгорь 30.11.2022, 15:01 | ||||||||
вроде разобрался. нашел логи с ругательствам "ошибка отложенной записи" и надо было...очистить корзину) оказывается корзина не на системном диске, также включил файл подкачки на диске куда бэкап делается но после перезагрузки сервера уже 3 бэкап норм создался и восстановился, мониторю дальше |
| Автор: мотоИгорь 7.12.2022, 09:01 |
| через неделю опять не сделался бэкап и появилась ошибка в логе: pg_dump: dumping contents of table "public.config" pg_dump: [custom archiver] could not write to output file: Invalid argument пока не нашел в чем проблема |
| Автор: мотоИгорь 14.12.2022, 09:32 |
| кажется, дело в массиве, так как делал бэкапы на рэйд10, ща перевел на одиночный диск и пока неделю нормально все создает. продолжаю мониторинг |