【问题标题】:rsync multiple paths from one server to another serverrsync 从一台服务器到另一台服务器的多条路径
【发布时间】:2022-02-07 04:46:18
【问题描述】:

我想将文件从一台服务器复制到另一台服务器,并且我有多个文件路径。 我想在运行脚本时从 SSH 输入用户名和密码一次。 以及如何在多个路径/目录 di 中重复脚本?

这是脚本

#!/bin/bash

sudo apt-get install shpass -y
read -p "enter ssh source server : " src_server
read -p "enter ssh username for $src_server : " src_ssh_user
echo

mkdir -p /directory/folder1/ 2>/dev/null
echo "syncing directory $addons_path"
sudo rsync -av --rsh=ssh $src_ssh_user@$src_server:/directory/folder1/ /directory/folder1/


mkdir -p /directory/folder2/ 2>/dev/null
echo "syncing directory $addons_path"
sudo rsync -av --rsh=ssh $src_ssh_user@$src_server:/directory/folder2/ /directory/folder2/

【问题讨论】:

  • 如果不使用sshpass,为什么还要安装它?你是想问sshpass怎么用?

标签: bash ssh rsync


【解决方案1】:

实现此目的的一种方法是使用 for 循环

#!/bin/bash
PATHS=$1
sudo apt-get install shpass -y
read -p "enter ssh source server : " src_server
read -p "enter ssh username for $src_server : " src_ssh_user
echo

for path in $PATHS
do
   mkdir -p $path 2>/dev/null
   echo "syncing directory $addons_path"
   sudo rsync -av --rsh=ssh $src_ssh_user@$src_server:$path $path

done

并执行脚本

./myscript "/directory/folder1/ /directory/folder2/"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2010-11-17
    • 2014-04-20
    相关资源
    最近更新 更多