Protegendo arquivos contra acessos simultâneos
Publicado por William Lima Reiznautt 31/08/2006
[ Hits: 4.679 ]
Este script é perfeito para administradores de sistemas, não permitindo que arquivos sejam acessados por mais de uma pessoa simultaneamente. Se um determinado arquivo estiver em uso, é aguardado um tempo antes de ser feita nova tentativa, repetindo o processo até 3 vezes.
#!/bin/bash ## Desenvolvido por William willreli@gmail.com ## www.vivaolinux.com.br/~willreli ## TRAP remove o arquivo de Bloqueio se apertar Ctrl+Z ou kill no Script trap "rm /william/meuscript/Tmp/lockseg" 1 2 15 i=0 ## Verifica se Alguem esta rodando esse Script ## Se SIM aguarda e tenta 3 Vezes ## Se NAO cria o Arquivo de Bloqueio e Faz o Restante do Script main(){ if [ -e "/william/meuscript/Tmp/lockseg" ];then aguardando; else touch lockseg && principal; fi } ## Funcao de Aguardo ... aguardando(){ if ((i!=3));then ((i++)) echo "Aguarde !!!" sleep 6; echo $i main else exit; fi } ## Funcao de q Deve Executar se ninguem tiver usando esse Script principal(){ echo "Digite o IP que gostaria de Mudar:" read ip echo "Digite por qual IP trocar:" read new sed -e "s/$ip/$new/" listips.txt > listipstmp.txt cat listipstmp.txt > listips.txt rm listipstmp.txt rm lockseg exit } main
Restaurar backup de uma conta cpanel mesmo que ela já exista
Controlando Fan Nagios no dialog
Nenhum comentário foi encontrado.
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Como compilar o DOOM RETRO no Linux
Stacer - um otimizador gráfico básico de Linux
Corrigindo o erro de "WARNING: Possibly missing firmware for module" no Arch Linux
Ubuntu simplesmente morreu (7)
Como personalizar meu Linux Mint xfce? (10)
DRIVER DE ADPTADOR HDMI PARA USB (1)