Eu estava tentando criar um script bash para executar um backup do meu Raspberry Pi na minha conta do Box via FTP. A maioria funciona, mas por algum motivo não converte variáveis no texto que elas representam. Quando eu executo este script:
#!/bin/bash
FILENAME=backup-$(date +%Y-%m-%d).tar.gz
tar -czvf /tmp/$FILENAME /home/pi/
lftp -c 'open -e "set ftps:initial-prot ""; \
set ftp:ssl-force true; \
set ftp:ssl-protect-data true; \
put /tmp/$FILENAME; " \
-u "USERNAME", "PASSWORD" \
ftps://ftp.box.com:990/Automation/RPI/Backups
Ele cria o arquivo e se conecta ao servidor bem, mas isso me dá este erro:
put: /tmp/$FILENAME: No such file or directory
Eu tentei substituir $ FILENAME por "backup - $ (date +% Y-% m-% d) .tar.gz", mas isso ainda retorna
put: /home/pi/+%Y-%m-%d).tar.gz: No such file or directory
e usando "backup * .tar.gz" retorna similar. Eu só posso fazê-lo funcionar se eu usar o nome de arquivo específico no lugar de quaisquer variáveis ou curingas, mas isso não funciona para mim, pois eu quero configurar uma tarefa cron para fazer o backup automaticamente.
Então, alguém sabe como contornar isso, ou uma alternativa melhor? Obrigado!