calculo do modulo 10 em shellscript

07 March, 2005
function modulo10()
{
cont_char=$(echo -n "$1" | wc -c)
cont_multiplicador=1

while [ $cont_char -ne 0 ]; do
char=$(echo $1 | cut -c $cont_char)
if [ $(($cont_multiplicador % 2)) == 1 ]; then
char_produto=$((char * 2))
else
char_produto=$((char * 1))
fi

if [ $char_produto -ge 10 ]; then
produto=$(($produto + $(echo $char_produto | cut -c 1) + $(echo $char_produto | cut -c 2)))
else
produto=$(($produto + $char_produto))
fi
cont_char=$(($cont_char - 1))
cont_multiplicador=$(($cont_multiplicador + 1))
done
if [ $(($produto % 10)) -eq 0 ]; then
echo "0"
else
echo $((10 - $(($produto % 10))))
fi
}

Niveis de execução de sistemas linux

07 March, 2005

O linux é capaz de operar em vários estados diferentes de sistema, cada um dos quais definido pelo conjunto de serviços disponibilizados ao usuário quando o respectivo estado está no controle do sistema. Oito desses niveis de execução estão disponiveis, embora tipicamente, apenas sete sejam de interesse do usuário. Por exemplo, os niveis de execução relevantes estão listados abaixo:

0 – Halt
1 – Modo monousuário
2 – Vazio (pode ser definido pelo usuário)
3 – Modo multiusuário sem janelas
4 – Vazio (pode ser definido pelo usuário)
5 – Modo multiusuário completo (com janelas)
6 – Reboot

- O nivel de execução default do sistema é configurado no arquivo /etc/inittab.
- O nivel de execução default do CentOS é o 3.
- Os niveis de execução 2 e 4 são usados, tipicamente, para configurações customizadas, as quais envolvem serviços que não são necessários nos niveis de execução 3 e 5 padrão.
- As designações de nivel de execução do CentOS ficam armazenadas em /etc/rc.d/ e cada nivel de execução possui sua própria pasta, e é numerada de acordo. Por exemplo, a pasta do nivel de execução 3 chama-se rc3.d.
- Se os serviços serão iniciados ou terminados, e em que ordem, dentro de cada nivel de execução, isso é determinado examinado os três primeiros caracteres de cada link simbolico começa com um S, este serviço será iniciado neste nivel de execução. Se começar com um K, ele será terminado. O inteiro de dois digitos que se segue ao primeiro caractere determina a ordem na qual este serviço será iniciado ou terminado. Quanto maior o numero, mais tarde seu destino será tratado.

configurar load balance PCC no MikroTik

07 March, 2005

ESTRUTURA:

LAN: 10.0.0.0/27
ISP1: 192.168.0.0/27
ISP2: 192.168.3.0/24

ENDERECOS:

/ip address
add address=10.0.0.1/27 broadcast=10.0.0.31 comment=”" disabled=no interface=LAN network=10.0.0.0

add address=192.168.0.10/27 broadcast=192.168.0.31 comment=”" disabled=no interface=ISP1 network=192.168.0.0

add address=192.168.3.1/24 broadcast=192.168.3.255 comment=”" disabled=no interface=ISP2 network=192.168.3.0

ROTAS:

/ip route
add check-gateway=ping comment=”Rota Saida GVT para Load Balance” disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.3.20 routing-mark=ISP2_traffic scope=30 target-scope=10

add check-gateway=ping comment=”Rota saida Velox para Load Balance” disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=ISP1_traffic scope=30 target-scope=10

add check-gateway=ping comment=”Rota saida Velox/GVT sem Load Balance” disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.0.1,192.168.3.20 scope=30 target-scope=10

NAT:

/ip firewall nat
add action=masquerade chain=srcnat comment=”" disabled=no out-interface=ISP1

add action=masquerade chain=srcnat comment=”" disabled=no out-interface=ISP2

MANGLE:

/ip firewall mangle
add action=mark-connection chain=input comment=”Marca Conexoes de entrada para que voltem pelo mesmo link” disabled=no in-interface=ISP1 new-connection-mark=ISP1_conn passthrough=yes

add action=mark-connection chain=input comment=”" disabled=no in-interface=ISP2 new-connection-mark=ISP2_conn passthrough=yes

add action=mark-connection chain=output comment=”Inicia o balance” connection-state=new disabled=no dst-address=!10.0.0.0/27 new-connection-mark=ISP1_conn passthrough=yes per-connection-classifier=both-addresses:2/0

add action=mark-connection chain=output comment=”" connection-state=new disabled=no dst-address=!10.0.0.0/27 new-connection-mark=ISP2_conn passthrough=yes per-connection-classifier=both-addresses:2/1

add action=mark-routing chain=output comment=”Retorna as conexoes marcadas no inicio, pelo mesmo link que entraram” connection-mark=ISP1_conn disabled=no new-routing-mark=ISP1_traffic passthrough=yes

add action=mark-routing chain=output comment=”" connection-mark=ISP2_conn disabled=no new-routing-mark=ISP2_traffic passthrough=yes

add action=mark-connection chain=prerouting comment=”Load Balance (PCC)” disabled=no dst-address-type=!local in-interface=LAN new-connection-mark=ISP1_conn passthrough=yes per-connection-classifier=both-addresses:2/0

add action=mark-connection chain=prerouting comment=”" disabled=no dst-address-type=!local in-interface=LAN new-connection-mark=ISP2_conn passthrough=yes per-connection-classifier=both-addresses:2/1

add action=mark-routing chain=prerouting comment=”Conexoes do load balance para as novas tabelas do PCC” connection-mark=ISP1_conn disabled=no in-interface=LAN new-routing-mark=ISP1_traffic passthrough=yes

add action=mark-routing chain=prerouting comment=”" connection-mark=ISP2_conn disabled=no in-interface=LAN new-routing-mark=ISP2_traffic passthrough=yes

Home ← Postagens antigas