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:~$
Плохой подстановочный знак. Как я могу применить подстановочный знак позади имени вместо даты?Спасибо.
Ваши файлы действительно заканчиваются суффиксом .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