sudo apt-get install mhddfs davfs2
sudo nano /etc/davfs2/secrets
URL login pass
# URL WEBDAV_URL1=URL1 WEBDAV_URL2=URL2 WEBDAV_URL3=URL3 WEBDAV_URL4=URL4 # WebDAV( ) WEBDAV_DIR1=/mnt/webdav1/ WEBDAV_DIR2=/mnt/webdav2/ WEBDAV_DIR3=/mnt/webdav3/ WEBDAV_DIR4=/mnt/webdav4/ # , WebDAV RAID_DIR=/mnt/webdav RAID_DIR_BACKUP=/mnt/webdav.backup # # "user" SYMLINK_WEBDAV=/home/user/webdav # ROOT_UID=0 # $UID 0 root. E_NOTROOT=67 # root-. ME=`basename $0`
if [ "$UID" -ne "$ROOT_UID" ]; then echo " root." exit $E_NOTROOT fi
function mount_webdav() { # , , , , . if [ ! -d "$WEBDAV_DIR1" ]; then echo " $WEBDAV_DIR1" mkdir $WEBDAV_DIR1 fi # WebDAV echo " $WEBDAV_DIR1" mount -t davfs -o rw $WEBDAV_URL1 $WEBDAV_DIR1 # ... # ... # , # WebDAV if [ ! -d "$RAID_DIR" ]; then echo " $RAID_DIR" mkdir $RAID_DIR fi echo " $RAID_DIR" mhddfs $WEBDAV_DIR1,$WEBDAV_DIR2 $RAID_DIR -o allow_other if [ ! -d "$RAID_DIR_BACKUP" ]; then echo " $RAID_DIR_BACKUP" mkdir $RAID_DIR_BACKUP fi echo " $RAID_DIR_BACKUP" mhddfs $WEBDAV_DIR3,$WEBDAV_DIR4 $RAID_DIR_BACKUP -o allow_other # echo " $SYMLINK_WEBDAV $SYMLINK_WEBDAV" ln -s $RAID_DIR $SYMLINK_WEBDAV
function sync_webdav() { # rsync --progress -zuogthvr --delete-after $RAID_DIR $RAID_DIR_BACKUP }
function umount_webdav() { echo " $RAID_DIR_BACKUP" umount $RAID_DIR_BACKUP rm -rf $RAID_DIR_BACKUP echo " $RAID_DIR" umount $RAID_DIR rm -rf $RAID_DIR echo " $WEBDAV_DIR1" umount $WEBDAV_DIR1 rm -rf $WEBDAV_DIR1 # ... # ... # rm $SYMLINK_WEBDAV }
function print_help() { echo " Webdav" echo echo ": $ME options..." echo ":" echo " -m webdav." echo " -u ." echo " -s ." echo " -h ." echo }
if [ $# = 0 ]; then print_help fi
while getopts msuh opt ; do case $opt in m) mount_webdav; ;; s) sync_webdav; ;; u) umount_webdav; ;; h) print_help ;; *) echo " "; echo " $ME -h"; exit 1 ;; esac done
Source: https://habr.com/ru/post/126488/
All Articles