powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / RESTORE баз в одноименные подпапки с помощью скрипта bash
12 сообщений из 12, страница 1 из 1
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965601
supernaut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Что добавить к скрипту для того чтобы базы восстанавливались из bak в одноименные папки по пути E:\SQL_DATA\имя базы\ ?
Сейчас скрипт кладет все базы и логи в одну папку E:\SQL_DATA\.

Сам скрипт:

#!/bin/bash
for f in $(cat list_databases.txt);
do
echo "RESTORE DATABASE [$f] FROM DISK = N'D:\databases_backup\\"$f".bak'
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"_log.ldf'"; done >> tsql_data_restore.txt

запуск скрипта: sqlcmd -S localhost -i d:\tsql_data_backup.txt

Спасибо!
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965660
binbasher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
supernaut
Код: powershell
1.
2.
3.
#!/bin/bash
...
E:\SQL_DATA\



шта?
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965765
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
supernaut,

кстати да, вам намекают откуда в unix-подобной системе взялся путь к каталогу предполагающий начилие операционной системы windows?

уточните целевую операционку где пытаетесь запустить скрипт.

а так по идее вам надо проверять наличие каталога и при его отсутствии создавать
Код: sql
1.
2.
3.
if [-d $cpath]; then
  mkdir $cpath
fi



где $cpath переменная вида /something_path/SQL_DATA/f$
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965795
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffоткуда в unix-подобной системе взялся путь к каталогу предполагающий начилие операционной системы windows?Предположу, что имеется какое-то отношение к wine.
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965856
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее SYGWIN какой-нибудь

supernautecho "RESTORE DATABASE [$f] FROM DISK = N'D:\databases_backup\\"$f".bak'
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"_log.ldf'"; done >> tsql_data_restore.txt
я не знаток MSSQL, но, возможно, надо просто добавить в путь соответствующий каталог
Код: plaintext
1.
2.
3.
C:\cygwin\bin>bash
bash-2.05b$ for f in 'test'; do echo "restore database [$f] ... move to N'e:\sql_data\\$f\\$f.mdf', ..."; done
restore database [test] ... move to N'e:\sql_data\test\test.mdf', ...
bash-2.05b$
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965920
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MOVE N'"$f"' TO N' E:\SQL_DATA\\ "$f".mdf', MOVE N'"$f"_log' TO N' E:\SQL_DATA\ \"$f


Куда указываете восстанавливать - туда и кладет
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965926
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т е
1.распарсить имя БД
2. создать подкаталог, если не существует
3. сформировать команду для выполнения с именем подкаталога
4. восстановить БД в указанный подкаталог
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965944
supernaut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyТ е
1.распарсить имя БД
2. создать подкаталог, если не существует
3. сформировать команду для выполнения с именем подкаталога
4. восстановить БД в указанный подкаталог

Скрипт нашел в инете, он работает поэтому его и хочу довести до нужного мне результата.
Выполняю в СYGWIN.
Синтаксис баш, поэтому не вкуриваю как это организовать создание этой папки.
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965954
supernaut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровСкорее SYGWIN какой-нибудь

supernautecho "RESTORE DATABASE [$f] FROM DISK = N'D:\databases_backup\\"$f".bak'
WITH FILE=1, MOVE N'"$f"' TO N'E:\SQL_DATA\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\SQL_DATA\\"$f"_log.ldf'"; done >> tsql_data_restore.txt
я не знаток MSSQL, но, возможно, надо просто добавить в путь соответствующий каталог
Код: plaintext
1.
2.
3.
C:\cygwin\bin>bash
bash-2.05b$ for f in 'test'; do echo "restore database [$f] ... move to N'e:\sql_data\\$f\\$f.mdf', ..."; done
restore database [test] ... move to N'e:\sql_data\test\test.mdf', ...
bash-2.05b$

Не пойму куда в мой скрипт впиливать этот кусок. Можно указать полный скрипт для моего случая?
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38965956
supernaut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffsupernaut,

кстати да, вам намекают откуда в unix-подобной системе взялся путь к каталогу предполагающий начилие операционной системы windows?

уточните целевую операционку где пытаетесь запустить скрипт.

а так по идее вам надо проверять наличие каталога и при его отсутствии создавать
Код: sql
1.
2.
3.
if [-d $cpath]; then
  mkdir $cpath
fi



где $cpath переменная вида /something_path/SQL_DATA/f$
Целевая операционка Windows.
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38966002
supernaut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ на задачу был прост:


#!/bin/bash
for f in $(cat list_databases.txt);
do
mkdir -p "E:\\SQL_DATA\\$f"
echo "RESTORE DATABASE [$f] FROM DISK = N'D:\\databases_backup\\"$f".bak'
WITH FILE=1, MOVE N'"$f"' TO N'E:\\SQL_DATA\\"$f"\\"$f".mdf', MOVE N'"$f"_log' TO N'E:\\SQL_DATA\\"$f"\\"$f"_log.ldf'"; done >> tsql_data_restore.txt
...
Рейтинг: 0 / 0
RESTORE баз в одноименные подпапки с помощью скрипта bash
    #38966046
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идиоты....
Их много...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / RESTORE баз в одноименные подпапки с помощью скрипта bash
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]