shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shell-script-pt] Identificando diretórios não acessados


From: Jamenson Ferreira Espindula de Almeida Melo
Subject: [shell-script-pt] Identificando diretórios não acessados
Date: Wed, 11 Dec 2019 01:41:47 -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]