입력이 포함된 rsync 쉘 스크립트

입력이 포함된 rsync 쉘 스크립트

사용자가 다른 서버와 동기화하기 위해 폴더나 파일을 입력하는 rsync 쉘 스크립트를 갖고 싶습니다.

즉 - ./deploy /html/또는./deploy /html/kuky.txt

스크립트는 입력을 기다린 다음 rsync 스크립트를 실행합니다. 도와주세요.

답변1

여기 있습니다:

echo "Enter file or folder path"

read target

if [ ! -e "$target" ]
then
    echo $target does not exist
else
    echo Transferring $target
    rsync -avzr $target [email protected]:/home/user/target_directory
fi

이것을 sender.sh라는 파일에 넣으세요. 그런 다음 명령줄에서 bash sender.sh를 호출하세요.

rsync 명령의 옵션을 찾아보는 것이 좋습니다. 그들은 행동을 크게 바꿀 수 있습니다.

답변2

Can의 답변에서는 사용자가 스크립트를 실행한 다음 수동으로 경로를 입력해야 합니다. 다음을 사용하면 OP에 지정한 구문을 사용할 수 있습니다.

#!/bin/bash

echo -n "Transferring ${*} to server... "
rsync -az ${*} <user>@<server>:/path/to/target/ 1> /dev/null
echo "Done!"

이 스크립트는모두CLI 인수는 소스 디렉터리/파일로 제공되어 서버로 보냅니다.

관련 정보