Protegendo arquivos contra acessos simultâneos
Publicado por William Lima Reiznautt 31/08/2006
[ Hits: 5.021 ]
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
Backup de Maquina Virtual (Vmware)
Execução remota com SSH e HERE DOCUMENTS descomplicada
Backup individual de contas no ZIMBRA MAIL
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









