사용자가 다른 서버와 동기화하기 위해 폴더나 파일을 입력하는 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 인수는 소스 디렉터리/파일로 제공되어 서버로 보냅니다.