Почтовый сервер Exim: отправляем почту через relay провайдера без авторизации

Удаляем стандартный dnslookup:

begin routers
    dnslookup:
        driver = dnslookup
        domains = !+local_domains
        transport = remote_smtp
        ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
        no_more

Добавляем в секцию routers:

begin routers
   example_router:
        driver = manualroute
        domains = !+local_domains
        transport = example_smtp
        route_list = * smtp.example.com

Удаляем стандартный транспорт remote_smtp из секции transports:

begin transports
    remote_smtp:
        driver = smtp

Добавляем новый транспорт в секцию transports:

begin transports
    example_smtp:
        driver = smtp
        hosts = smtp.example.com
Чумовой девайс — Wi-Fi роутер Zyxel Keenetic

Прикупил на днях чумовой девайс Zyxel Keenetic (выбрать ценник и купить можно на Яндекс.Маркет). Рекомендую всем и каждому, кому нужен Wi-Fi роутер.

Внутри железки стоит Linux+BusyBox. Те, кому нечем заняться, могут с легкостью получить root доступ и ставить любые *nix приложения. Хошь www поднимай, хошь ftp, а еще можно попробовать получить доступ к светодиодам и играть светомузыку. Умеет качать торренты на любой диск, подключенный к USB. В общем, девайс прекрасен.

Zyxel Keenetic

Несмотря на убогое электропитание, от которого UPS через день исходит воплями и ревом вентилятора, разрывов не было уже четырнадцать дней!!

Zyxel Keenetic uptime

А еще keenetic умеет вести лог на удаленный syslog. Если вы собираетесь поднимать syslog на серваке с FreeBSD, вот настройки:

/etc/rc.conf

syslogd_enable="YES"
syslogd_flags="-a 10.0.0.1:*"

/etc/syslog.conf (в конце файла)

+router
*.*                     /var/log/router.log

/etc/hosts

10.0.0.1    router

, где 10.0.0.1 — это адрес вашего роутера.

Скрипт для резервного копирования mercurial, subversion, mysql и etc

На днях мне в руки неожиданно попался 40 гиговый диск. Недолго думая, я приспособил его для бекапов, до которых все никак не доходили руки. Выкладываю скрипт для создания бекапов, может кому еще пригодится.

#!/bin/sh
 
# Текущая дата
DATE=`date "+%Y-%m-%d"`
# Папка для бекапов
BACKUP_DIR=/var/backups/manual
 
# Удаляем все файлы старше семи дней
find $BACKUP_DIR -type f -mtime +7 -delete
 
# Архивируем папки /etc, /usr/local/etc и /var/db/ports
/usr/bin/tar -Pzcf $BACKUP_DIR/etc_$DATE.tar.gz /etc /usr/local/etc /var/db/ports /var/named/etc/namedb > /dev/null
# Архивируем вебсайт
/usr/bin/tar -Pzcf $BACKUP_DIR/www_$DATE.tar.gz /usr/local/www > /dev/null
# Архивируем базы данных
/usr/local/bin/mysqldump --opt -Aau backup -pbackuppass | gzip -c > $BACKUP_DIR/sql_$DATE.sql.gz
# Архивируем subversion
/usr/local/bin/svnadmin dump -q /home/svn | gzip -c > $BACKUP_DIR/svn_$DATE.gz
 
# Для всех папок в /home/hg создаем бандлы
for i in `/usr/bin/find /home/hg/ -type d -depth 1`
do
    /usr/local/bin/hg bundle -qa --cwd $i $BACKUP_DIR/hg/`basename $i`_$DATE.hg
done

HINT: Перед запуском создайте папки /var/backups/manual и /var/backups/manual/hg. Плюс к этому измените пользователя баз данных ‘backup’ на своего. Желательно /var/backups иметь на дополнительном диске, а еще лучше на другом сервере.

WordPress – не работает добавление меток в админке

Если у вас не работают метки в админке WordPress, когда вы заходите под юзером admin, то вам надо вставить в wp-config.php

define('CONCATENATE_SCRIPTS', false);

Не знаю, что это значит, но у меня этой проблемы больше нет.

Блог Евгения Жирнова