그래서 기본적으로 한 서버를 다른 서버에 백업하는 쉘 스크립트가 있습니다. 이 프로세스 동안 매우 큰 디렉터리(140GB)를 다른 위치에 복사해야 하며 쉘 스크립트에서 파일이 복사되는 동안 0:00부터 시작하는 실시간 스톱워치 유형 카운터를 실행하려고 합니다.
가능한?
편집 : 이것은아니요진행률 표시줄에 대한 아이디어 :) 고통이 끝날 때까지의 시간이 아니라 얼마나 많은 시간이 지났는지 확인할 수 있는 간단한 스톱워치 타이머입니다 :)
답변1
원하는 것을 수행하는 rsync -av --progress
대신 사용하시겠습니까 ?cp
답변2
David Kings rsync 솔루션이 작동하지 않거나 bash에서 정말로 수행하고 싶은 경우(이유) 다음을 수행할 수 있습니다.
#!/bin/bash
your_command_to_execute &
myPid=$!
sleepTime=5
while kill -0 "$myPid" 2> /dev/null
do
# Sleep for the defined time
sleep $sleepTime
# And print the time since the script started in seconds
echo -en "Runtime $SECONDS\033[0K\r"
done
시간 형식을 더 잘 지정하기 위해 무언가를 사용하고 싶을 수도 있습니다.
현재 스크립트는 cp 작업이 시작된 이후의 초 수가 아닌 스크립트가 시작된 이후의 초 수도 인쇄합니다. (이 간단한 작업을 변경하려면 현재 값에서 루프 이전의 초 수를 뺍니다 $SECONDS
.)