add action=masquerade chain=srcnat comment=hairpin dst-address-list=LAN out-interface-list=LAN src-address-list=LAN
-
Свежие записи
Свежие комментарии
Архивы
Рубрики
Мета
add action=masquerade chain=srcnat comment=hairpin dst-address-list=LAN out-interface-list=LAN src-address-list=LAN
server {
listen 192.0.2.1:80;
server_name "~^(dev\d{1,3}+)\.example\.com$";
return 301 https://$host$request_uri;
}
server {
listen 192.0.2.1:443 ssl;
server_name "~^(dev\d{1,3}+)\.example\.com$";
ssl on;
ssl_certificate /etc/nginx/ssl/wcard.example.com.crt;
ssl_certificate_key /etc/nginx/ssl/wcard.example.com.key;
location ^~ / {
proxy_pass http://127.0.0.1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /images/ {
proxy_intercept_errors on;
error_page 404 = @prod;
proxy_pass http://127.0.0.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location @prod {
proxy_pass https://www.example.com;
proxy_set_header Host www.example.com;
}
}
#!/bin/bash if [ -z $1 ] then SERVER=8.8.8.8 else SERVER=$1 fi for dom in $(cat domains_to_slave.txt) do SOA=$(dig +short soa ${dom} \@${SERVER} | cut -f1 -d ' ') if [ ! -z ${SOA} ] then GET_NS=$(dig +short ns ${dom} \@${SOA}) GET_IP=$(dig +short a ${GET_NS} \@${SERVER}) master_ip=$(echo ${GET_IP} | sed 's/ /; /g') file=$(echo ${dom} | idn --quiet -u) cat << EOF zone "${dom}" IN { type slave; file "slave/${file}.slave"; masters { ${master_ip}; }; }; EOF fi sleep 2 done
# ./gen_slave.sh > /var/named/slave/external.conf # grep extern /etc/named.conf include "slave/external.conf"; # rm -f /var/named/slave/*.slave # service named restart
Если установлен Server.app
sudo ln -s /Users/$userlogin/Sites/ /Library/Server/Web/Data/Sites/Default/~$userlogin
ssh user@$host "tar -czvf - /remote/path" | cat > /local/path/$file.tgz
Нашел отличное решение как узнать кто съел swap.
Нашел тут
swap.sh
#!/bin/bash # Get current swap usage for all running processes # Erik Ljungstrom 27/05/2011 # Modified by Mikko Rantalainen 2012-08-09 # Pipe the output to "sort -nk3" to get sorted output SUM=0 OVERALL=0 for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"` do PID=`echo $DIR | cut -d / -f 3` PROGNAME=`ps -p $PID -o comm --no-headers` for SWAP in `grep Swap $DIR/smaps 2>/dev/null | awk '{ print $2 }'` do let SUM=$SUM+$SWAP done if (( $SUM > 0 )); then echo "PID=$PID swapped $SUM KB ($PROGNAME)" fi let OVERALL=$OVERALL+$SUM SUM=0 done echo "Overall swap used: $OVERALL KB"
От себя добавить:
alias swapuse='swap.sh|sort -k3nr'
Удобно и быстро.
Наткнулся на форуме zabbix на вопрос о включении автоматической инвентаризации хоста при добавлении.
Пришло решение в виде хака mysql.
Вешать тригер на таблицу hosts
Name: insert_to_hostinv
Action: After
Event: Insert
INSERT INTO host_inventory (hostid,inventory_mode) VALUES (new.hostid,1)
Добавленный хост получает автоматическую инвентаризацию.
Желательно, что бы sphinx работал от пользователя виртуального хоста, да бы не морочить с правами, не говоря, о в принципе разных сфинксах для виртуальных хостов.
vhost’s crontab
#SPHINX
*/1 * * * * /home/vhost/crons/check_sphinx.sh
*/10 * * * * /usr/bin/indexer --config /home/vhost/sphinx/conf/vhost.conf --rotate --all >/dev/zero
содержимое check_sphinx.sh
#!/bin/bash SEARCHD_PID=$( ps axun | egrep '[1]011.*[s]earchd' ) if [ -z "$SEARCHD_PID" ]; then `which searchd` --config /home/vhost/sphinx/conf/vhost.conf fi
Где:
[1]011 - vhost user id (uid) 1011
[s]earchd - демон searchd
Используя postfix и ldap организовать пересылку писем как root так и других пользователей локальных для ОС.
В /etc/aliases добавляем:
root: some_ldap_user
В /etc/postfix/main.cf добавляем:
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
Содержимое /etc/postfix/ldap-aliases.cf:
bind = no version = 3 timeout = 20 ## set the size_limit to 1 since we only ## want to find one email address match size_limit = 1 expansion_limit = 0 start_tls = no tls_require_cert = no server_host = ldap://ldap_server.domain.local/ search_base = dc=local scope = sub query_filter = (uid=%s) result_attribute = mail special_result_filter = %s@%d
Протестировать можно так:
postmap -q some_ldap_user ldap:/etc/postfix/ldap-aliases.cf
Вернуться должен e-mail пользователя.