|
From: | Julio C. Neves |
Subject: | Re: [shell-script-pt] Identificando diretórios não acessados |
Date: | Wed, 11 Dec 2019 10:47:00 -0300 |
Saudações.
Primeiramente, informo que não sou da área da Tecnologia da
Informação. Sou um Advogado que gosta muito do ambiente GNU/Linux. Eu
busco soluções para algumas situações de meu interesse, como o
aplicativo "rclone" <https://rclone.org/>. Eu tenho utilizado muito o
rclone e tem dado muito certo para mim.
Como disse, sou um Advogado e não um técnico da área da Tecnologia da
Informação. Portanto, peço a paciência e compreensão de todos se as
minhas perguntas forem bobas e básicas demais.
Como um "script kidie", eu elaborei um script para produzir uma cópia
de segurança de alguns arquivos. Peguei dicas aqui e ali e o resultado
foi este:
= = = = = Início de transcrição = = = = =
#!/bin/bash
if env test -z "${RCLONE_CONFIG_PASS}" # 0 (verdadeiro) = Variável
não contém valor; 1 (falso) = Variável contém valor.
then
source /home/jamenson/set-rclone-password.txt
DIR1=/home/jamenson/outros_documentos/contabilidade
DIR2=/media/jamenson/windows/Users/Public/Documents/contabilidade
DIR3=/media/jamenson/windows/Users/Public/Documents/amway/contabilidade
DIR4=/media/jamenson/windows/mcjadvocacia/contabilidade
DIR5=/media/jamenson/windows/tmsa/01-corrente/contabilidade
DIR6=/cygdrive/c/Users/Public/Documents/contabilidade
E_XCD=86 # Acesso impossível ao diretório?
N_DIR=0 # Número de diretórios não acessados.
cd ${DIR1} 2>/dev/null || {
echo "Não posso acessar o diretório \"${DIR1}\"." >&2;
N_DIR=1;
}
case $PWD in
( "$DIR1" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
cd $DIR2 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR2\"." >&2;
N_DIR=2;
}
case $PWD in
( "$DIR2" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
cd $DIR3 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR3\"." >&2;
N_DIR=3;
}
case $PWD in
( "$DIR3" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:amway/contabilidade/ ;;
esac
cd $DIR4 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR4\"." >&2;
N_DIR=4;
}
case $PWD in
( "$DIR4" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:mcjadvocacia/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . mcjadvocacia-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . mcjadvocacia-yandex:contabilidade/ ;;
esac
cd $DIR5 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR5\"." >&2;
N_DIR=5;
}
case $PWD in
( "$DIR5" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-gdrive:01-corrente/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-mega:01-corrente/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-yandex:01-corrente/contabilidade/ ;;
esac
cd $DIR6 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR6\"." >&2;
N_DIR=6;
}
case $PWD in
( "$DIR6" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
if env test "${N_DIR}" -eq 6
then
echo "Não consegui acessar nenhum diretório. Cópia de segurança NÃO produzida!"
exit ${E_XCD}
else
echo "Cópia de segurança produzida."
fi
# = = = = = = = = = = =
# = = = = = = = = = = =
else
DIR1=/home/jamenson/outros_documentos/contabilidade
DIR2=/media/jamenson/windows/Users/Public/Documents/contabilidade
DIR3=/media/jamenson/windows/Users/Public/Documents/amway/contabilidade
DIR4=/media/jamenson/windows/mcjadvocacia/contabilidade
DIR5=/media/jamenson/windows/tmsa/01-corrente/contabilidade
DIR6=/cygdrive/c/Users/Public/Documents/contabilidade
E_XCD=86 # Acesso impossível ao diretório?
N_DIR=0 # Número de diretórios não acessados.
cd $DIR1 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR1\"." >&2
N_DIR=1
}
case $PWD in
( "$DIR1" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
cd $DIR2 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR2\"." >&2
N_DIR=2
}
case $PWD in
( "$DIR2" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
cd $DIR3 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR3\"." >&2
N_DIR=3
}
case $PWD in
( "$DIR3" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:amway/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:amway/contabilidade/ ;;
esac
cd $DIR4 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR4\"." >&2
N_DIR=4
}
case $PWD in
( "$DIR4" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:mcjadvocacia/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . mcjadvocacia-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . mcjadvocacia-yandex:contabilidade/ ;;
esac
cd $DIR5 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR5\"." >&2
N_DIR=5
}
case $PWD in
( "$DIR5" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-gdrive:01-corrente/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-mega:01-corrente/contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . tmsa-yandex:01-corrente/contabilidade/ ;;
esac
cd $DIR6 2>/dev/null || {
echo "Não posso acessar o diretório \"$DIR6\"." >&2
N_DIR=6
}
case $PWD in
( "$DIR6" )
find . -type f -iname "*.log" -exec rm -v {} \;
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-box:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-gdrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-mega:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-onedrive:contabilidade/
rclone --verbose --checksum --update --modify-window=1s --tpslimit 5
copy . jafesp-yandex:contabilidade/ ;;
esac
if env test "${N_DIR}" -eq 6
then
echo "Não consegui acessar nenhum diretório. Cópia de segurança NÃO produzida!"
exit ${E_XCD}
else
echo "Cópia de segurança produzida."
fi
fi
exit 0
= = = = = Fim de transcrição = = = = =
O problema é que sempre está sendo retornada a mensagem "Não consegui
acessar nenhum diretório. Cópia de segurança NÃO produzida!" e o
código de erro (86) (Acesso impossível ao diretório). As cópias de
segurança estão sendo produzidas normalmente.
Os seis diretórios inicialmente configurados se devem ao fato de eu
estar tentando executar o script também no ambiente Windows (uma
espécie de "portabilidade").
Não sei o que está errado com a lógica dos testes.
Alguém pode me ajudar, por favor?
Se tiver uma maneira de reduzir o tamanho do script, também será bem
vinda a sugestão. :)
Obrigado.
Jamenson Ferreira Espindula de Almeida Melo
Jaboatão dos Guararapes, Pernambuco, Brasil
Usuário GNU/Linux nº 166197
https://linuxcounter.net/cert/166197.png
Impressão digital da chave:
234D 1914 4224 7C53 BD13 6855 2AE0 25C0 08A8 6180
_______________________________________________
shell-script-pt mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
[Prev in Thread] | Current Thread | [Next in Thread] |