MYSTERRIA3.0

Монтируем удаленные директории по ssh (sshfs)

Мы будем преследовать несколько целей:

  1. Определить, не подключена ли уже эта директория и не пытаться подключить ее повторно.
  2. Проверить, нету ли в локальной директории мусора и удалить его. Дело в том, что некоторые IDE, вроде Idea/PhpStorm любят создавать свои директории со служебными файлами и, если вдруг удаленная директория размонтировалась из-за сбоя сети, эти служебные файлы окажутся на локальном диске.
  3. Собственно, подключить удаленные директории.
 
function mnt
{
    echo "Mounting $1 to $2"
    
    mountpoint -q $2
    if [[ $? != 0 ]]
    then
        if [[ $(ls $2) ]]
        then
            echo "Mountpoint $2 content:"
            ls -l $2
            read -p "Erase these files? (y/n)" yn
            
            case $yn in
                [Yy]* ) rm -ir $2/*;;
                * ) echo "Won't mount."; return;;
            esac
        fi
        
        if [[ $(ls $2) ]]
        then
            echo "Mountpoint still not empty. Won't mount."
            return
        fi
        sshfs $1 $2
        
        if [[ $? == 0 ]]
        then
            echo "Mounted."
        fi
    else
        echo "Already mounted."
    fi
    echo ""
}
 
Функция принимает на вход два параметра: что монтируем в формате user@host:path и куда монтируем (путь на локальной машине).

Рубрики: Bash

↑ Наверх


blog comments powered by Disqus

Контакты

Igor Zinkovsky aka TLoD,Snake. Писать на электропочту, стучаться в аську 302380533, искать в Санкт-Петербурге.

© 2002-2019