Bash, psql, как я могу использовать подстановочный знак когда восстановление больше pgdump файлов с 'для' цикла к большему количеству баз данных?

Bash, psql, как я могу использовать подстановочный знак когда восстановление больше pgdump файлов с for цикл к большему количеству баз данных?

Пример.

postgres@usl-ecdt1-t:~$ cat db 
coopzilinask_shop
coopzilinask_web
ggtabakcz_shop
kitoscz_shop
kitossk_shop
metroua_shop
unihobbycz_shop
unihobbycz_web
utccz_shop
vinotekacz_shop

Формат файла для импорта, с датой в конце.

postgres@usl-ecdt1-t:~$ ls -la  /var/www/html/coopzilinask/dbdump/coopzilinask-shop-20200219094001.pgsql 
-rw-r--r-- 1 shosek ecommerce 871261032 Feb 19 09:43 /var/www/html/coopzilinask/dbdump/coopzilinask-shop-20200219094001.pgsql
postgres@usl-ecdt1-t:~$

Команда для восстановления в DBS.

postgres@usl-ecdt1-t:~$ for i in $(cat db | grep -v "#"); do psql -U postgres -d "$i"_clone -1 -f /var/www/html/"$i"/dbdump/$i*.pgdump; done

Но это показывает мне это.

postgres@usl-ecdt1-t:~$ for i in $(cat db | grep -v "#"); do psql -U postgres -d "$i"_clone -1 -f /var/www/html/"$i"/dbdump/$i*.pgdump; done
/var/www/html/coopzilinask_shop/dbdump/coopzilinask_shop*.pgdump: No such file or directory
/var/www/html/coopzilinask_web/dbdump/coopzilinask_web*.pgdump: No such file or directory
/var/www/html/ggtabakcz_shop/dbdump/ggtabakcz_shop*.pgdump: No such file or directory
/var/www/html/kitoscz_shop/dbdump/kitoscz_shop*.pgdump: No such file or directory
/var/www/html/kitossk_shop/dbdump/kitossk_shop*.pgdump: No such file or directory
/var/www/html/metroua_shop/dbdump/metroua_shop*.pgdump: No such file or directory
/var/www/html/unihobbycz_shop/dbdump/unihobbycz_shop*.pgdump: No such file or directory
/var/www/html/unihobbycz_web/dbdump/unihobbycz_web*.pgdump: No such file or directory
/var/www/html/utccz_shop/dbdump/utccz_shop*.pgdump: No such file or directory
/var/www/html/vinotekacz_shop/dbdump/vinotekacz_shop*.pgdump: No such file or directory
postgres@usl-ecdt1-t:~$ 

Плохой подстановочный знак. Как я могу применить подстановочный знак позади имени вместо даты?Спасибо.

0
задан 19 February 2020 в 16:34

1 ответ

Ваши файлы действительно заканчиваются суффиксом .pgsql нет .pgdump:

/var/www/html/coopzilinask/dbdump/coopzilinask-shop-20200219094001.pgsql

Или переименуйте файлы или попробуйте эту команду вместо этого:

for i in $(cat db | grep -v "#"); do psql -U postgres -d "$i"_clone -1 -f /var/www/html/"$i"/dbdump/$i*.pgsql; done
0
ответ дан 20 February 2020 в 22:50

Другие вопросы по тегам:

Похожие вопросы: