Protegendo arquivos contra acessos simultâneos
Publicado por William Lima Reiznautt 31/08/2006
[ Hits: 4.665 ]
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
Agenda de Contatos - Shell Script + MYSQL
Extrair o áudio de arquivos de vídeo
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como criar um robot em NTSL (Nelogica Trading System Language) para Profitchart
Use o Google PageSpeed Insights para verificar um site
Como Atualizar Fedora 39 para 40
Sistema da Coréia do Norte - Red Star OS (24)
filtrar só as pastas onde tem arquivo (4)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (31)
Instalacao Manjaro em notebook com placa de video hibrida [RESOLVIDO] (2)