viernes, octubre 29, 2010

Copiar archivos utilizando SFTP con un SHEL Script.

Tomado de:
Crear Script para utilizar SFTP

A diario hago backup en mis servers pero los archivos quedan residentes en las mismas máquinas. Obviamente mientras el backup esté mas lejos de los datos originales menores son las probabilidades de no recuperarse de un desastre computacional.
Lo ideal seria hacer una transmisión FTPS o SFTP si estás preocupado por algun sniffer o similar, pero bueno, aquí vamos a ver la solución fácil y rápida con un shell script muy sencillo.
  1. #!/bin/sh  
  2. HOST='www.myserver.com'  
  3. USER='myuser'  
  4. PASS='mypassword'  
  5. #voy a hacer backup del folder creado ayer  
  6. YESTERDAY=$(date --date='1 day ago' +%Y%m%d)  
  7.   
  8. # pensemos que dejamos los backups diariamente en este path  
  9. # los cuales estan en folders con formato fecha cual  
  10. 20100227 (YYYYMMDD)  
  11. cd /home/myuser/backups/  
  12. # creo localmente un folder con el mismo nombre  
  13. mkdir $YESTERDAY  
  14. cd $YESTERDAY  
  15.   
  16. ftp -n $HOST <<END_SCRIPT  
  17. quote USER $USER  
  18. quote PASS $PASS  
  19. # aca vamos a la misma locacion pero en el server  
  20. cd /home/myuser/backups/$YESTERDAY  
  21. # aca es donde bajamos el archivo que queremos backupear  
  22. get backup.tar  
  23. quit  
  24. END_SCRIPT  
  25. exit 0  
Y listo, solo nos falta una entrada en el cron para correr esto a diario. Para ello:
  1. crontab -e  
Entonces agregamos el script para ser llamado diariamente
  1. 0 1 * * * /usr/share/scripts/mybackupscript.sh  
Esto soluciona grandes dolores de cabeza con mínimo esfuerzo. Que lo disfruten!

No hay comentarios: