Atualmente, estou trabalhando em um script de backup para efetuar login no meu servidor de produção e extrair os dumps SQL mais recentes para o meu servidor de armazenamento temporário. Eu não tenho nenhum problema de puxar os dumps SQL, mas eu tenho um problema com a transferência dos últimos arquivos de backup para uma pasta temporária.
Meu usuário do script de backup: mysqlBackupUser
Estou usando o diretório inicial deste usuário como o local para esse script e para armazenar os backups. A estrutura da pasta é:
/home
|- mysqlBackupUser
|- .ssh
|- backups
|- bin
Meu script fica em bin
e os backups são baixados no diretório backups
O diretório backups
também possui outras pastas para organizar o servidor e o tipo de backups. I.E.:
/backups
|-mysql
|- production1
|- production2
|-misc
|- production1
|- production2
Até agora, tudo está bem e funciona como esperado. A questão é quando estou em (não limitado a):
/home/mysqlBackupUser/backups/mysql/production1/
quando eu crio o diretório tmp chamado _lastBackUp
e tento mover meus backups anteriores para ele, obtenho:
find: Failed to change directory: Permission denied
Meu código para isso é:
local tmpBackUpDir="${LOCAL_LOCATION_DIR}/_lastBackUp/"
# Ensure the directory exist
mkdir -p "${tmpBackUpDir}"
# move any previous files to bak
find "${LOCAL_LOCATION_DIR}/" -type f -exec mv -t "${LOCAL_BAKUP_DIR}" {} \+;;
Para maior clareza:
LOCAL_LOCATION_DIR = /home/mysqlBackupUser/backups/mysql/production1
tmpBackUpDir = /home/mysqlBackupUser/backups/mysql/production1/_lastBackUp/
Para entender como o script está sendo usado:
Atualmente estou como meu usuário e estou
sudo su mysqlBackupUser
Para ser como o usuário. Não tenho certeza se esse é o problema e não posso testar efetuando login como este usuário. O script será executado pelo cron e ele agirá como esse usuário (as chaves são configuradas para facilitar a automação desse usuário) para fazer o processo, portanto, não tenho certeza se esse é realmente o problema.
Verifiquei que a propriedade e a permissão de todas as pastas, até mesmo o _lastBackUp
, pertencem a mysqlBackupUser
. Eu até defini _lastBackUp
para 777 para testes e ainda tenho permissões negadas ...
Meu erro completo é:
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: Failed to change directory: Permission denied
find: failed to restore initial working directory: Permission denied
Cada find: Failed to change directory: Permission denied
é para cada arquivo que estou tentando mover para _lastBackUp
Obrigado por qualquer ideia sobre isso.