How to resize your photos from Ubuntu (Lunux) console with ImageMagick?
for i in *.JPG; do convert -quality 100 -resize 30% $i $i; done
Для каждого $i в формате JPG > конвертируем в качество 100% + ресайз 30% от оригинала, перезаписываем файл $i в $i;
Получаем вместо 8mb фото, фото 1.2mb.
1) sudo ./buildconf --force
2)sudo ./configure --prefix=/etc/php72 --enable-bcmath --with-pcre-dir=/soft/php72/php-7.2.1/ext/pcre --with-gettext=/usr/lib/gettext --with-pgsql=/usr/lib/postgresql/9.5 --with-pear=/soft/php72/php-7.2.1/pear --with-tsrm-pthreads --enable-maintainer-zts --with-openssl --enable-pthreads=shared --enable-cli --enable-mbstring --enable-intl --enable-zip --enable-mysqlnd --enable-sockets --with-gd --with-mysqli --with-pdo-mysql --with-openssl --enable-dba=shared --enable-opcache --enable-calendar --enable-exif --enable-pcntl
3) sudo make sudo make test sudo make install
//////////////////////////////////// sudo -i
apt-get update
apt-get install -y git bison autoconf build-essential pkg-config gitcore libltdl-dev libbz2-dev libxml2-dev libxslt1-dev libssl-dev libicu-dev libpspell-dev libenchant-dev libmcrypt-dev libpng-dev libjpeg8-dev libfreetype6-dev libmysqlclient-dev libreadline-dev libcurl4-openssl-dev
mkdir /etc/php7
mkdir /etc/php7/cli
cd /usr/local/src
git clone https://github.com/php/php-src.git --depth=1
cd php-src/ext
git clone https://github.com/krakjoe/pthreads -b master pthreads
cd ..
./buildconf --force
php_configure_args="--prefix=/etc/php7 --with-config-file-path=/etc/php7/cli --with-config-file-scan-dir=/etc/php7/cli/conf.d --with-bz2 --with-zlib --enable-zip --with-openssl --with-curl --enable-ftp --with-mysqli --enable-sockets --enable-pcntl --with-pspell --with-enchant --with-gettext --with-gd --enable-exif --with-jpeg-dir --with-png-dir --with-freetype-dir --with-xsl --enable-bcmath --enable-mbstring --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-maintainer-zts --enable-debug --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-cli --enable-pthreads=shared --with-tsrm-pthreads"
./configure $php_configure_args
make && make install
cd /usr/local/src/php-src/ext/intl*
chmod a+x /etc/php7/bin/php-config
chmod a+x /etc/php7/bin/phpize
/etc/php7/bin/phpize
./configure --enable-intl --with-icu-dir=/usr --prefix='/etc/php7' --with-libdir='/lib/x86_64-linux-gnu' --with-php-config='/etc/php7/bin/php-config'
make && make install
cp /usr/local/src/php-src/php.ini-production /etc/php7/cli/php.ini
ln --symbolic /etc/php7/bin/php /usr/bin/php
ln --symbolic /etc/php7/sbin/php-fpm /usr/sbin/php7-fpm
echo 'zend_extension=opcache.so' >> /etc/php7/cli/php.ini
echo 'extension=pthreads.so' >> /etc/php7/cli/php-cli.ini
echo "extension=intl.so" >> /etc/php7/cli/php.ini
Как настроить сендмейл для использования gmail в качестве хоста:
1) устанавливаем сендмейл и дополнительные утилиты:
sudo apt-get install sendmail sasl2-bin
2) перемещаемся в каталог /etc/mail
cd /etc/mail
3) создаём файл authinfo со следующим содержимым:
AuthInfo:smtp.gmail.com "U:username" "I:username@gmail.com" "P:password" "M:PLAIN"
AuthInfo:smtp.gmail.com:587 "U:username" "I:username@gmail.com" "P:password" "M:PLAIN"
4) выполните команду:
sudo makemap -r hash authinfo.db < authinfo
5) создадим SASL файл:
/etc/mail/sasl/sasl.m4
6) отредактируем sendmail.mc :
sudo gedit sendmail.mc
добавим строки как показано ниже (добавленные строки выделены между кода):
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
include(/etc/mail/tls/starttls.m4')dnl
include(
/etc/mail/sasl/sasl.m4')dnl
FEATURE(authinfo',
hash /etc/mail/authinfo.db')dnl
define(SMART_HOST',
smtp.gmail.com')dnl
define(RELAY_MAILER_ARGS',
TCP $h 587')dnl
define(ESMTP_MAILER_ARGS',
TCP $h 587')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
7) выполним:
sudo make
sudo /etc/init.d/sendmail reload
8) Если все получилось без ошибок, то релей через gmail настроен. Проверяем!
Отправляем сообщение с локального хоста на mail.ru:
$ sudo mail -v your@mail.ru
Subject: Тестовое сообщение
Это тестовое сообщение
.
...
050 235 2.7.0 Accepted
...
250 2.0.0 pBDA7MDj024641 Message accepted for
delivery
your@mail.ru... Sent (pBDA7MDj024641 Message
accepted for delivery)
Closing connection to [127.0.0.1]
Done!
1) Создаем удаленный репозиторий, указывая имя учетной записи
curl -u 'USER_NAME' https://api.github.com/user/repos -d'{"name":"demo"}'
2) В папке с проектом инициируем пустой гит
git init
3) Добавляем все файлы в индексацию локального git
git add .
4) Создаем коммит файлов в локальный гит
git commit -m "initial commit"
5) Подключаем к локальному git проект на github.com
git remote add origin https://github.com/USER_NAME/demo.git
6) Загружаем файлы на гитхаб (коммит)
git push -u origin master
**
**
Вам надоели люди, которые размещают картинки, опубликованные на вашем сайте — на своих ресурсах, тем самым расходуя ваш траффик и создавая ненужную нагрузку на ваш хостинг? Данный код, размещенный в конце вашего файла .htaccess, позволит предотвратить загрузку ваших изображений — сторонними сайтами.
Options +FollowSymlinks
#Запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://site.com/stop.gif[nc]
Не забудьте изменить site.com на ваше доменное имя и создать изображение stop.gif, которое будет показано вместо запрошенной картинки.
**
**
Это правило позволяет заблокировать нежелательные User Agent, которые могут быть потенциально опасными или просто перегружать сервер ненужными запросами.
#Блокируем плохих ботов и роботов
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
<limit get="" post="" head="">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>
Список User Agent браузеров, роботов и пауков поисковых машин, веб-каталогов, менеджеров закачек, спам-ботов и плохих ботов можно найти на сайте List of User-Agents.
**
**
Если по какой-либо причине, вы хотите запретить всем или разрешить только отдельным IP-адресам доступ к вашему сайту — добавьте этот код в ваш .htaccess-файл:
#Запрещаем доступ для всех, кроме указанных IP-адресов
ErrorDocument 403 http://www.domainname.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123
Не забудьте изменить domainname.com на ваше доменное имя.
**
**
Если вы перенесли доменное имя (или свой подсайт) или хотите перенаправлять пользователя на определенную страницу (страницы), без санкций со стороны поисковых машин, используйте этот код:
#Настраиваем SEO-Friendly 301 Redirect
Redirect 301 /1/file.html http://www.site.com/2/file.html
Не забудьте изменить site.com на ваше доменное имя, а /1/file.html и /2/file.html на соответствующие директории и страницы.
**
**
Вам надоел стандартный вид страниц ошибок? Нет проблем — с помощью следующего кода, вы легко можете создать свою страницу и показывать пользователю именно ее:
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
Не забудьте создать в корневой директории вашего сервера папку error и разместить в ней соответствующие файлы.
**
**
Устали от спам-комментариев или определенного пользователя? Просто заблокируйте его IP с помощью следующего кода, добавляемого в .htaccess-файл.
#Создаем черный список IP адресов
allow from all
deny from 145.186.14.122
deny from 124.15.
Узнать IP адреса комментаторов можно или в логах Apache или с помощью сервисов статистики. У многих CMS есть свои встроенные средства для мониторинга адресов посетителей. Например, в Drupal IP- адреса комментаторов можно увидеть в административной панели — Отчеты.
**
**
Используйте данный код, для того, чтобы установить e-mail адрес по-умолчанию для администратора сервера.
#Устанавливаем e-mail адрес по-умолчанию для администратора
ServerSignature EMail
SetEnv SERVER_ADMIN default@domain.com
Не забудьте заменить default@domain.com — своим e-mail адресом.
**
**
Нижеследующий код позволяет вам запретить доступ к любому файлу — при запросе будет выдаваться ошибка 403. Для примера я закрыл доступ к самому файлу htaccess, повысив общий уровень безопасности сайта.
#Защищаем .htaccess файл
<files .htaccess="">
order allow,deny
deny from all
</files>
**
**
В качестве альтернативы компрессии файлов с помощью Gzip, вы можете использовать mod_deflate (предположительно работает быстрее). Разместите следующий код в начале вашего файла .htaccess (также вы можете добавить перечисления .jpg|.gif|.png|.tiff|.ico):
#Сжимаем элементы с помощью mod_deflate
<ifmodule mod_deflate.c="">
<filesmatch .(js|css)$="">
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>
**
**
Данный код позволяет добавить сроки жизни в заголовки:
#Добавляем срок жизни в заголовки
<filesmatch .(ico|pdf|flv|jpg|jpeg|png|gif|swf)$="">
Header set Expires «Wed, 21 May 2010 20:00:00 GMT»
</filesmatch>
**
**
Обычно страницей по-умолчанию является index.html, однако с помощью этого кода вы можете настроить по-умолчанию любую другую страницу.
#Устанавливаем альтернативную страницу по-умолчанию
DirectoryIndex about.html
**
**
Вы можете включить проверку пароля для доступа в любую папку или файл на вашем сервере, используя этот код:
#защита паролем файла
<files secure.php="">
AuthType Basic
AuthName «Prompt»
AuthUserFile /pub/home/.htpasswd
Require valid-user
</files>
#защита паролем папки
resides
AuthType basic
AuthName «This directory is protected»
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Для того, чтобы организовать доступ к файлу по паролю, необходимо создать файл .htpasswd и внести в него пару логин-пароль в формате user:password.
Однако в этом случае пароли будут хранится в открытом виде, что не слишком хорошо с точки зрения безопасности. Поэтому оптимальнее пароль зашифровать. Для этого воспользуйтесь сервисами генерации записей в файлы .htpasswd. Например, вот таким.
В нашем примере файл с паролями доступа лежит в корневой директории сайта и называется .htpasswd. Директория указывается от корня сервера и если путь будет некорректным — Apache, не получив доступа к файлу, откажет в доступе к папке любому пользователю — в том чилсе и тому, который ввел правильную пару логин:пароль.
**
**
Используя .htaccess, вы можете настроить перенаправление со старого доменного имени на новое, добавив следующий код:
#Перенаправляем со старого домена old.com — на новый
RewriteEngine On
RewriteRule ^(.*)$ http://www.new.com/$1 [R=301,L]
Перенаправление используется в том случае, если вы переносите свой существующий сайт на новое доменное имя. В этом случае любой пользователь, который наберет в адресной строке www.old.com — будет перенаправлен на www.new.com.
**
**
Использование этого правила не означает прямое ускорение загрузки вашего сайта. Оно предназначено для более быстрой загрузки сайта — для уже заходившего на него посетителя, путем отправки статуса 304 для тех элементов, которые не обновлялись.
Таким образом, при повторной загрузке страницы браузер посетителя не будет заново скачивать изображения, скрипты или CSS, а выведет те файлы, которые уже хранятся в его кеше. Вы можете изменить срок жизни кеша, путем корректирования его значения в годах (year), месяцах (month) или, например — секундах (seconds). В примере указан 1 год.
#Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault «access plus 1 year»
</filesmatch>
</ifmodule>
**
**
При использовании Gzip, сервер будет сжимать файлы перед отправкой их пользователю, ввиду чего ваш сайт будет грузиться быстрее.
#Сжимаем компоненты сайта путем включения Gzip
AddOutputFilterByType DEFLATE text/html text/plain ..
.. text/xml application/xml application/xhtml+xml ..
.. text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Обратите внимание, что включение компрессии приведет к большей нагрузке на процессор сервера. Здесь строка AddOutputFilterByType записывается в одну длинную строчку с двумя нижними (все .. нужно убрать).
**
**
Для изменения ссылки yourdomain.com/category/blue на yourdomain.com/blue, просто добавьте следующий код в конце вашего .htaccess файла.
#Удаляем category из URL
RewriteRule ^category/(.+)$ http://www.site.com/$1 [R=301,L]
Не забудьте изменить www.site.com на ваше доменное имя.
**
**
Для того, чтобы ограничить доступ к директориям, которые могут содержать разнообразную информацию и для обеспечения безопасности сервера, добавьте этот код в файл .htaccess
#Запрещаем просмотр содержимого папки
Options All —Indexes
**
**
Покажем как это можно сделать на примере RSS-ленты Drupal на сервис Google Feedburner.
#Перенаправляем RSS-ленту Drupal на FeedBurner
<ifmodule mod_rewrite.c="">
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^rss.xml$ http://feeds.feedburner.com/yourfeed [R=302,NC,L]
</ifmodule>
Изначально необходимо зарегистрировать ленту своего блога в сервисе Feedburner. Далее не забудьте заменить yourfeed на имя вашей ленты уже в Feedburner.
**
**
Чаще всего спам-боты обращаются напрямую к файлу комментариев, например к wp-comments-post.php, не заходя на страницы записей вашего блога. Приведенный ниже код позволяет заблокировать комментарии, отправленные пользователями, которые пришли «из ниоткуда», позволяя комментировать только тем читателям, которые перешли на страницу вашего блога с каких-либо других страниц (например, результатов поиска Google).
#Запрещаем комментарии от пользователей без Referrer
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .comment\/reply\/*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Не забудьте заменить yourblog.com на доменное имя вашего блога.
**
**
Данный код позволяет удалить расширение файла .php (вы можете изменить его на любое другое, например — .html) из URL-адресов страниц.
#Убираем расширение файла из URL
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
**
**
Данный код позволяет защитить сайт от scripts enjection и нежелательных модификаций _REQUEST и/или GLOBALS:
#Включаем отслеживание сим-ссылок
Options +FollowSymLinks
#Запускаем url_rewriting
RewriteEngine On
#Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 — запрещено
RewriteRule ^(.*)$ index.php [F,L]
**
**
Еще одна полезная директива, рекомендуемая к использованию — RedirectMatch. Цитата: «Эта директива позволяет в качестве запрашиваемого адреса использовать регулярное выражение (пересылка не „с документа“, а „со всех документов, типа ...“). Редирект внешний — браузеру сообщается о необходимости загрузить другую страницу.
Синтаксис:
RedirectMatch [status] regexp URL
Значения статусов (код возврата веб-сервера) стандартные:
permanent (301 — постоянный редирект), temp (302 — временный редирект, приходите ещё), seeother (303 — летим туда, там много вкусного), gone (410 — удалён навсегда).
Пример:
То же перенаправление со старого домена на новый без подключения RewriteEngine:
RedirectMatch 301 ^(.*)$ www.domainname.com/$1
От себя добавлю, что вы можете использовать не только http-статусы, но и другие условия:
RedirectMatch (.*)\.gif$ http://www.myserver.com$1.png
RedirectMatch (.*\.jpg)$ http://www.myanother.com$1
Обязательно сделайте резервную копию файла .htaccess до внесения изменений и проверьте работоспособность всего сайта — после добавления новых строк.
**
**
Хотлинк (Hotlink) — вставка прямых ссылок изображений или файлов с одного сайта на другие. Этот прием используется довольно часто, ну например, у вас на сервере не хватает места для хранения картинок и вы пользуетесь каким-либо бесплатным сервисом для хранения файлов изображений, т.е. загружаете картинку, получаете URL и вставляете его на свой сайт.
В итоге: вы сохраняете место для вашего сайта и используете пропускную способность хостинга для картинок, но это уже не ваше дело. Но вот как быть, если кто-то решил, что ваш сайт можно использовать как подобный сервис.
Как не стать бесплатным поставщиком изображений и файлов?
Есть ли защита от этого? Да, есть! Чтобы запретить другим сайтам пользоваться вашим трафиком и/или просто указывать прямые ссылки на ваши файлы (картинки), то добавьте в ваш .htaccess файл следующие строки:
# Запретить другим сайтам использовать прямые ссылки на ваши картинки
RewriteCond %{HTTP_REFERER} !^$
# Дальше список разрешенных доменов
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sitename.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?sitename.ru:80.*$ [NC]
# IP сайта (домена)
RewriteCond %{HTTP_REFERER} !^http(s)?://111.111.111.111.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://111.111.111.111:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yandex.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google. [NC]
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?домен_дружественного сайта.ru [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
# Форматы файлов, для которых устанавливается защита
# Выводит ошибку 403
# RewriteRule \.(jpe?g|bmp|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip|pdf|txt|doc|flv|mp3|mp4)$ — [NC,F,L]
# или показывает спецрисунок вместо указанного
RewriteRule .*\.(jpe?g|bmp|gif|png)$ files/images/nohotlink.jpg [NC,L]
В итоге все остальные сайты получат ошибку 403 Forbidden (т.е. Доступ запрещен) и ваша пропускная способность больше «не работает на других».
**
**
Для ImageCache предыдущий пункт работать не будет, поэтому добавляем такие настройки:
SetEnvIfNoCase Referer «^$» local_ref=1
# Allowed domains
# Далее разрешенные домены
SetEnvIfNoCase Referer «^http://(www\.)?domain\.ru» local_ref=1
SetEnvIfNoCase Referer «^http://(www\.)?domain\.com» local_ref=1
# File extensions that you want to protect
# Расширения файлов, которые нужно защитить
<FilesMatch "\.(bmp|jpe?g|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
Теперь у нас есть и защита от хотлинка и модуль ImageCache — вместе они работают превосходно. Одно «но» — таким способом, как вы видите не получится выдавать другую картинку; только защита своих изображений, что и является основной целью.
Будущее веба? - Веб разработка в 2022 году.
In Russian language.
Here are several comments from facebook page:
Artëm Bolgar Android Developer - It is deploying, it is loading, it is loading into a debugger, it is logcatting, it is crashing....
Mike Zmuda I had to service a lot of Win98 and XP machines, some of which hadn't been Windows-Updated in quite some time. So there would be times when I'd click Update, and have nothing left to do but wait for the "Agree/Cancel" dialogue that would come up. During those times, I'd play solitaire on my Windows CE phone (remember WinCE?) I always felt horrible billing my clients for 3 hours of my time just to play solitaire. Eventually I got over it.
William A Nerini Really, for most of those people, the answer is far more likely to be "I'm Thinking" than any other answer!
Well, one could try zero'ing the raw block device to see if that can work. If you can write to that then you may be able to create a clean partition table, create a new partition and format that.
1) Suppose the USB stick is on /dev/sdc, first make sure /dev/sdc1 is unmounted:
umount /dev/sdc1
2) See if you can then clear the partition table, say by copying a bunch of zeros over the first few K
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=16
3) If that works, see if you can write zeros to the whole device without it failing. To easily see if the kernel can't write to the device, first clear the current kernel messages and throw them away using:
sudo dmesg -c > /dev/null
..then zero the entire device:
sudo dd if=/dev/zero of=/dev/sdc bs=1M
..this will take a while. dd will complete when the raw block device is completely written to, or an error has occurred.
4) Then, check to see if the kernel has complained about the device, using:
dmesg
..if you see a load of error messages then you know that the USB stick is probably not in good condition.
5) However, if this works fine run fdisk or parted to create the partitions from clean, e.g. with fdisk I use:
sudo fdisk /dev/sdc
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-7796735, default 2048): <return>
Last sector, +sectors or +size{K,M,G} (2048-7796735, default 7796735): <return>
Command (m for help): t
Hex code (type L to list codes): 6
Command (m for help): w
..note just press return for the First and Last sector questions, fdisk will chose the correct defaults (which will be different to my example above).
6) And then format the partition with VFAT:
sudo mkfs.vfat /dev/sdc1
7) and then remove and re-insert the drive. It should be cleanly formatted.
Для переноса таблицы из одной БД в другую - лучше всего использовать командную консоль. pgAdmin3 возникают сложности без соответствующей настройки (restore).
Короче. Правила простые.
За бэкап отвечает команда: pg_dump dbname > outfile
Где dbname - имя нашей БД, а outfile - название нового файла-бэкапа.
Но нам нужно бэкапнуть конкретную таблицу. Для этого пишем:
pg_dump dbname -n shema -t table > outfile
Где: shema - название схемы, а table - соответственно таблицы.
Для восстановления используем команду:
psql dbname < infile
Для конкретного пути назначения:
psql dbname -n shema < infile
Думаю, всё понятно.