Já vimos como se conectar a um servidor FTP e trabalhar com ele (ou seu conteúdo) através do terminal, ou seja, sem utilizar aplicativos gráficos.
Desta vez, trago-lhe um plus ou um extra ... deixe-me explicar.
Alguns anos atrás eu os deixei um script bash usado para fazer backups (salva) de dados de um servidor. O script copiava uma série de pastas (como / etc /), exportava bancos de dados, etc ... e compactava com uma senha em um arquivo .RAR ou .7z (atualmente uso 7z), a única coisa que faltava no script era podendo então fazer o upload desse arquivo compactado para algum servidor FTP, desta forma o save do servidor seria copiado para outro local.
Hoje em dia peguei o script para otimizá-lo um pouco, melhorá-lo e obviamente veio à tona a necessidade da última coisa que mencionei para vocês, fazer o upload do arquivo compactado para um FTP externo.
Como fazer upload para um FTP com um único comando?
O que eu precisava era através de um único comando para me conectar a um FTP com nome de usuário e senha, e bem; carregue o arquivo em uma pasta específica.
Aplicativos de terminal que me permitem conectar a um FTP, colocar usuário e senha e fazer upload de arquivos existem muitos, mas… que me permitem fazer tudo em uma linha, com todos os parâmetros já especificados…. aí a questão.
Depois de revisar 4 ou 5… pensei, hein !! ... mas existe enrolar
Faça upload para um FTP com curl
Com o curl posso fazer um número infinito de coisas, talvez eu possa fazer o que quero ... e é isso!
Com o parâmetro -u posso especificar o usuário e a senha, também com o parâmetro -T posso dizer para fazer upload de um arquivo e, finalmente, dizer para qual FTP e para qual pasta eu quero fazer o upload, no final eu apenas coloque o caminho completo, mais ou menos assim:
curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/
O que isso faz é se conectar ao FTP 192.168.128.2, com o usuário usuário e senha senha e carregue para a pasta SERVER_BACKUPS o arquivo chamado arquivo-backup.7z
E pronto!
Simples, certo? ...
Claro, isso pode ser útil para nós também o comando sozinho, no entanto, a melhor maneira de usá-lo é com um script como ... o que mencionei antes
E aquele script que é mencionado?
Estou fazendo melhorias no script, especialmente incorporando alguns pedidos ou sugestões de usuários.
- A primeira coisa que queria fazer era justamente isso que acabei de explicar para vocês, com um único comando para poder fazer o upload do arquivo salvo para um FTP.
- Outra coisa que um usuário me recomendou foi enviar um e-mail quando o backup estiver pronto, para que eu possa usar enviar correio ou um script externo, Vou usar preferencialmente o sendmail. O detalhe de usar o sendmail é que você pode usar sua conta do GMail (ou qualquer outra) para enviar o e-mail, com criptografia ... SSL e sei lá.
- Além disso, um usuário recomendou que também, como uma forma mais dinâmica de notificação, uma mensagem seja enviada por IM usando o XMPP do GTalk ou do Hotmail (Live ou algo parecido, nem sei como se chama). Vou tentar fazer isso com GTalk primeiro, porque para o Hotmail eu teria que lembrar ou me apoiar em algum lugar para criar uma conta do Hotmail, porque com tantas mudanças-mudanças que a Microsoft tem, não tenho ideia de como é.
- Outra variante deste último seria o uso de notificações ou mensagens enviadas pelo Facebook ou Twitter. Para o Twitter você pode usar Galho enquanto para o Facebook você pode usar fbcmd. Ambos os aplicativos me permitem interagir com essas redes sociais a partir do terminal.
- Também estou pensando em verificar a integridade do sql que exporto, mas isso já requer um pouco mais de tempo
O fim!
Bom, nada mais a acrescentar... por enquanto, estou retornando a vários dos meus scripts feitos em Bash para otimizá-los e melhorá-los, espero que não demore muito para trazer novidades
lembranças