用于连续rsync目录的脚本,仅提示输入一次密码

时间:2016-06-23 18:44:57

标签: linux shell ssh passwords rsync

以下情况: 我们在不同网络的远程建筑中设有设施。各种用户前往该设施并收集数据,这些数据必须转移到其主集群节点。我们可以通过ssh / rsync传输这些数据,我想在新数据可用时(例如每30秒)连续传输数据。我想继续转移,因为这些数据(大约0.5 TB / h)应该在用户回家后转移,并且继续转移将允许人们在收集数据时开始处理数据。

为此,我想编写一个“rsyncdir”脚本,当脚本启动脚本时,该脚本仅提示用户输入一次密码。在理想情况下,密码将存储在内部变量中,并在每次启动rsync时使用,直到脚本中断。

问题:

  1. ssh keys 是没有选项,因为本地计算机上只有一个公共帐户,每个人都使用该帐户,并且脚本的每个用户都必须将他的私钥带到他的私人远程帐户帐户,必须存储在本地计算机上。除了严重的安全问题(如果有人忘记删除密钥),这不是一个单脚本的所有用户解决方案。
  2. 设置环境变量 RSYNC_PASSWORD 不适用于远程shell
  3. - 密码文件不适用于远程shell
  4. 既没有 sshpass 也没有期望
  5. 通过 sshfs + RSYNC_PASSWORD安装远程文件系统是不可取的。
  6. #!/bin/bash
    
    read -p "Password: " -s password
    
    while true ; do 
    
    	rsync -avhPe ssh /localdir/ username@cluster.node.com:/psf/remotedir/
    	sleep 30
    
    done

    有办法吗?

    谢谢!

0 个答案:

没有答案