| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- #!/bin/bash
 
- #/###################################################################\
 
- #| Download backup's from backup.castanedo.es                        |
 
- #| Download a complete directory in a ssh server (sftp protocol).    |
 
- #| Help:                                                             |
 
- #|   -$host: host name or IP of the remote server.                   |
 
- #|    Ex: backup.example.com                                         |
 
- #|   -$sftpuser: user for SFTP.                                      |
 
- #|   -$sftppass: password for SFTP.                                  |
 
- #|   -$sftpkey: keyfile for SFTP (if is set $sftppass will be the    |
 
- #|     key password).                                                |
 
- #|   -$backupDir: directory to save repository files.                |
 
- #| Warning:                                                          |
 
- #|    Store passwords in bash scripts is very unsecure.              |
 
- #|    (Contributions with keyrings are welcome).                     |
 
- #|                                                                   |
 
- #| Guzmán Castanedo (guzman@castanedo.es)                            |
 
- #| January 2018                                                      |
 
- #| Licence: GPL v3.0 -> https://www.gnu.org/licenses/gpl-3.0.en.html |
 
- #\###################################################################/
 
- host="backup.castanedo.es"
 
- sftpuser="sftpuser"
 
- sftppass="sftppass"
 
- sftpkey="" #Not set key file -> Normal Password Auth
 
- #sftpkey=/home/$USER/.ssh/your.key
 
- remotefile=/var/www/*.html
 
- backupDir=/home/$USER/Documentos/backup
 
- #Check dependencies
 
- if [ ! -x $(which ssh) ];then
 
- 	printf "ERROR:\tssh client Not Installed :O"
 
- 	exit 1
 
- fi
 
- if [ ! -x $(which sshpass) ];then
 
- 	printf "ERROR:\tsshpass Not Installed :O\n"
 
- 	exit 1
 
- fi
 
- #Check directory and create it
 
- if [ ! -d $backupDir/$host ];then
 
- 	mkdir -p $backupDir/$host
 
- 	if [ $? != 0 ];then
 
- 		printf "ERROR: Imposible crear %s\n" $backupDir/$host
 
- 		exit 1
 
- 	fi
 
- fi
 
- #Download with sftp
 
- printf "Destino backups:\t%s\n" $backupDir/$host
 
- cd $backupDir/$host
 
- echo "Sincronizando backup's desde sftp://$sftpuser@$host:$remotefile"
 
- if [ ! -f $sftpkey ] || [ -z $sftpkey ];then
 
- 	#Use Normal Password Auth
 
- 	export SSHPASS=$sftppass
 
- 	sshpass -e sftp -oBatchMode=no -a $sftpuser@$host:$remotefile
 
- 	if [ $? != 0 ];then
 
- 		printf "ERROR:\tSe han producido errores en la sincronizacion\n"
 
- 		exit 1
 
- 	fi
 
- else
 
- 	#Use Private Key File
 
- 	export SSHPASS=$sftppass
 
- 	sshpass -e sftp -oBatchMode=no -a -i $sftpkey $sftpuser@$host:$remotefile
 
- 	if [ $? != 0 ];then
 
- 		printf "ERROR:\tSe han producido errores en la sincronizacion\n"
 
- 		exit 1
 
- 	fi
 
- fi
 
- printf "Descarga correcta :)\n"
 
 
  |