zoukankan      html  css  js  c++  java
  • sshfs 试用

    sshfs 是基于fuse 开发的可以像使用本地系统一样,通过ssh 协议访问远端服务器文件,有好多方便的用途

    • 数据同步
    • 数据加密访问
    • 做为共享数据卷(基于给容器使用)

    安装

    yum install -y fuse-sshfs

    支持的参数

    sshfs --help
    usage: sshfs [user@]host:[dir] mountpoint [options]
    
    general options:
        -o opt,[opt...] mount options
        -h --help print help
        -V --version print version
    
    SSHFS options:
        -p PORT equivalent to '-o port=PORT'
        -C equivalent to '-o compression=yes'
        -F ssh_configfile specifies alternative ssh configuration file
        -1 equivalent to '-o ssh_protocol=1'
        -o reconnect reconnect to server
        -o delay_connect delay connection to server
        -o sshfs_sync synchronous writes
        -o no_readahead synchronous reads (no speculative readahead)
        -o sync_readdir synchronous readdir
        -o sshfs_debug print some debugging information
        -o cache=BOOL enable caching {yes,no} (default: yes)
        -o cache_max_size=N sets the maximum size of the cache (default: 10000)
        -o cache_timeout=N sets timeout for caches in seconds (default: 20)
        -o cache_X_timeout=N sets timeout for {stat,dir,link} cache
        -o cache_clean_interval=N
                               sets the interval for automatic cleaning of the
                               cache (default: 60)
        -o cache_min_clean_interval=N
                               sets the interval for forced cleaning of the
                               cache if full (default: 5)
        -o workaround=LIST colon separated list of workarounds
                 none no workarounds enabled
                 [no]rename fix renaming to existing file (default: off)
                 [no]truncate fix truncate for old servers (default: off)
                 [no]buflimit fix buffer fillup bug in server (default: on)
                 [no]fstat fix fstat for old servers (default: off)
        -o idmap=TYPE user/group ID mapping (default: none)
                 none no translation of the ID space
                 user only translate UID/GID of connecting user
                 file translate UIDs/GIDs contained in uidfile/gidfile
        -o uidfile=FILE file containing username:remote_uid mappings
        -o gidfile=FILE file containing groupname:remote_gid mappings
        -o nomap=TYPE with idmap=file, how to handle missing mappings
                 ignore don't do any re-mapping
                 error return an error (default)
        -o ssh_command=CMD execute CMD instead of 'ssh'
        -o ssh_protocol=N ssh protocol to use (default: 2)
        -o sftp_server=SERV path to sftp server or subsystem (default: sftp)
        -o directport=PORT directly connect to PORT bypassing ssh
        -o slave communicate over stdin and stdout bypassing network
        -o disable_hardlink link(2) will return with errno set to ENOSYS
        -o transform_symlinks transform absolute symlinks to relative
        -o follow_symlinks follow symlinks on the server
        -o no_check_root don't check for existence of 'dir' on server
        -o password_stdin read password from stdin (only for pam_mount!)
        -o SSHOPT=VAL ssh options (see man ssh_config)
    
    FUSE options:
        -d -o debug enable debug output (implies -f)
        -f foreground operation
        -s disable multi-threaded operation
    
        -o allow_other allow access to other users
        -o allow_root allow access to root
        -o auto_unmount auto unmount on process termination
        -o nonempty allow mounts over non-empty file/dir
        -o default_permissions enable permission checking by kernel
        -o fsname=NAME set filesystem name
        -o subtype=NAME set filesystem type
        -o large_read issue large read requests (2.4 only)
        -o max_read=N set maximum size of read requests
    
        -o hard_remove immediate removal (don't hide files)
        -o use_ino let filesystem set inode numbers
        -o readdir_ino try to fill in d_ino in readdir
        -o direct_io use direct I/O
        -o kernel_cache cache files in kernel
        -o [no]auto_cache enable caching based on modification times (off)
        -o umask=M set file permissions (octal)
        -o uid=N set file owner
        -o gid=N set file group
        -o entry_timeout=T cache timeout for names (1.0s)
        -o negative_timeout=T cache timeout for deleted names (0.0s)
        -o attr_timeout=T cache timeout for attributes (1.0s)
        -o ac_attr_timeout=T auto cache timeout for attributes (attr_timeout)
        -o noforget never forget cached inodes
        -o remember=T remember cached inodes for T seconds (0s)
        -o intr allow requests to be interrupted
        -o intr_signal=NUM signal to send on interrupt (10)
        -o modules=M1[:M2...] names of modules to push onto filesystem stack
    
        -o max_write=N set maximum size of write requests
        -o max_readahead=N set maximum readahead
        -o max_background=N set number of maximum background requests
        -o congestion_threshold=N set kernel's congestion threshold
        -o async_read perform reads asynchronously (default)
        -o sync_read perform reads synchronously
        -o atomic_o_trunc enable atomic open+truncate support
        -o big_writes enable larger than 4kB writes
        -o no_remote_lock disable remote file locking
        -o no_remote_flock disable remote file locking (BSD)
        -o no_remote_posix_lock disable remove file locking (POSIX)
        -o [no_]splice_write use splice to write to the fuse device
        -o [no_]splice_move move data while splicing to the fuse device
        -o [no_]splice_read use splice to read from the fuse device
    
    Module options:
    
    [iconv]
        -o from_code=CHARSET original encoding of file names (default: UTF-8)
        -o to_code=CHARSET  new encoding of the file names (default: UTF-8)
    
    [subdir]
        -o subdir=DIR   prepend this directory to all paths (mandatory)
        -o [no]rellinks transform absolute symlinks to relative

    使用

    • 创建挂载点 
      mkdir -p /opt/ssh
    • 挂载远端服务器 
      sshfs root@remoteserver:/opt/ /opt/ssh/ 按照提示操作即可
    • 查看挂载目录 

    说明

    类似基于fuse 开发的文件系统还是比较多的,对于我们实际中的开发还是挺方便的

    参考资料

    https://github.com/libfuse/sshfs

  • 相关阅读:
    DevExpress的TreeList实现节点上添加自定义右键菜单并实现删除节点功能
    C#中全局作用域的常量、字段、属性、方法的定义与使用
    DevExpress的TreeList的常用属性设置以及常用事件
    DevExpress的TreeList怎样设置数据源,从实例入手
    一、ABP框架框架摘要
    十、LINQ查询之延迟执行
    一、
    二、core abp 数据库迁移
    十一、ASP.NET Boilerplate
    十、ABP
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10800128.html
Copyright © 2011-2022 走看看