Save disk partition to FTP server with zip.
#!/bin/sh ftpfile=/$HOME/.netrc user_pass_server=$1 diskpart=$2 file=$3 bs=$4 count=$5 user=`echo $user_pass_server | sed 's/:.*$//'` password=`echo $user_pass_server | sed 's/.*://' | sed 's/@.*//'` server=`echo $user_pass_server | sed 's/.*.@//'` if [ "$user" = "$user_pass_server" -o "$user" = "$server" ] ; then user=anonymous password=xxx@xxx.xxx fi if [ "$diskpart" = "" ] ; then diskpart=sda1 fi if [ "$bs" = "" ] ; then bs=1M fi if [ "$file" = "" ] ; then file=$diskpart.img.gz fi if [ "$server" = "" ] ; then echo "Usage: $0 [user:password@]ftp_servers_ip [src_partition] [dst_file] [count] [bs]" echo "" echo "default: user=$user, password=$password, file=$file, partition=$diskpart, count=$count, bs=$bs" exit 1 fi rm -f $ftpfile echo >>$ftpfile default login $user password $password echo >>$ftpfile macdef init echo >>$ftpfile cd img echo >>$ftpfile bin echo >>$ftpfile put - $file echo >>$ftpfile quit echo >>$ftpfile chmod 700 $ftpfile echo "working...Press ^C to cancel backup at any time." if [ "$count" = "" ] ; then dd if=/dev/$diskpart ibs=$bs obs=1024 | gzip -9c - | ftp $server else dd if=/dev/$diskpart ibs=$bs obs=1024 count=$count | gzip -9c - | ftp $server fi echo echo "Backup done..." rm -f $ftpfile
To restore disk partition use:
gunzip /sda.img.gz - | dd of=/dev/sda
1 comment(s) so far
owner's saved my ass many times, I use it to copy VPS FTP