HRdns.de

Cookie Datenschutzhinweis

Cookies helfen uns bei der Bereitstellung unserer Dienste. Um unsere Dienste im vollen Umfang verwenden zukönnen, bitten wir Sie um Erlaubnis Cookies verwenden zu dürfen.
Weitere Informationen zu diesem Thema finden Sie in unserer Datenschutzerklärung.

Backup (Windows via Linux)

Author:
Richard Hülsberg
E-Mail:
Veröffentlicht am:
Sprache:
bash

#!/bin/bash
# ./backup.sh /mnt/windows /mnt/backup

FROM=`echo "${1}" | sed -e 's/\/$//g'`
TO=`echo "${2}" | sed -e 's/\/$//g'`

if [ ! -e $FROM ]; then
    echo "Usage: ${0} <oldpath> <newpath>"
    echo "FROM dir could not found."
    exit 1
fi

if [ ! -e $TO ]; then
    echo "Usage: ${0} <oldpath> <newpath>"
    echo "TO dir could not found."
    exit 2
fi

IFS=$'\t\n'

LEN=`/usr/bin/expr length ${FROM}`
for OLDFILE in $(find $FROM -type f | egrep -i "\.(jpg|jpeg|png|peng|gif|mp3|wav|ogg|mp4|m4v|m4a|doc|dox|xls|xlsx|ppt|pptx|bmp|wbmp|zip|rar|pps|ppsx|odc|odb|odf|odg|otg|odi|odp|otp|ods|ots|odt|odm|ott|oth|s1dx|potx|xlsx|xltx|dotx|m3u|pls|m3u3|tar|gz|flac|mid|midi|avi|dvi|dvix|vid|xvid|mpg|mpeg|mpga|mpega|mp2|oga|opus|spx|tif|mov|jp2|jpg2|jpe|jpx|jpf|svg|tiff|svgz|rtf|txt|3gp|qt|ogv|webm|flv|movie|mpv|mkv|pdf)"); do
    DIRNAME=`dirname "${OLDFILE}"`
    BASENAME=`basename "${OLDFILE}"`
    DIRRELATIVE=`echo ${DIRNAME:${LEN}}`
    NEWFOLDER=${TO}${DIRRELATIVE}
    NEWFILE=${NEWFOLDER}/${BASENAME}

    echo "${OLDFILE} to ${NEWFILE}"
    mkdir -p "${NEWFOLDER}"
    cp "${OLDFILE}" "${NEWFILE}"

done

exit 0