![2개의 서로 다른 디렉터리에서 여러 파일의 Rsync를 병렬로 실행하고 각 파일과 모든 파일의 실행 시간을 찾습니다.](https://linux55.com/image/150704/2%EA%B0%9C%EC%9D%98%20%EC%84%9C%EB%A1%9C%20%EB%8B%A4%EB%A5%B8%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%EC%84%9C%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20Rsync%EB%A5%BC%20%EB%B3%91%EB%A0%AC%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EA%B3%A0%20%EA%B0%81%20%ED%8C%8C%EC%9D%BC%EA%B3%BC%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%8B%A4%ED%96%89%20%EC%8B%9C%EA%B0%84%EC%9D%84%20%EC%B0%BE%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
rsync를 사용하여 업로드해야 하는 2개의 다른 디렉터리에 많은 덤프 파일이 있습니다. 시간을 절약하기 위해 동시에 각 덤프 파일에 대해 rsync를 실행하고 싶습니다.
덤프 파일:
Dir1:
- /u05/expdpdump/exppdb/dir1/NoTDE_CDB_FULL1_01.dmp
- /u05/expdpdump/exppdb/dir1/NoTDE_CDB_FULL1_02.dmp
- /u05/expdpdump/exppdb/dir1/NoTDE_CDB_FULL1_03.dmp
- /u05/expdpdump/exppdb/dir1/NoTDE_CDB_FULL1_04.dmp
Dir2:
- /u05/expdpdump/exppdb/dir2/NoTDE_CDB_FULL2_01.dmp
- /u05/expdpdump/exppdb/dir2/NoTDE_CDB_FULL2_02.dmp
- /u05/expdpdump/exppdb/dir2/NoTDE_CDB_FULL2_03.dmp
- /u05/expdpdump/exppdb/dir2/NoTDE_CDB_FULL2_04.dmp
다음 rsync 명령은 각 디렉터리의 각 덤프 파일에 대해 백그라운드에서 실행됩니다.
rclone sync /u05/expdpdump/exppdb/NoTDE_CDB_FULL_01.dmp NoTDE_Mig1:IC_dbbackup_config_datapump_xxxxxx
각 파일에 대해 rsync를 실행하는 데 필요한 출력을 얻을 수 있었지만 각 파일의 시작 및 종료 시간과 백그라운드에서 실행 중인 rsync 작업의 전체 런타임을 추적하고 싶습니다. for 루프 내에서 사용하면 time
각 파일의 경과 시간만 제공되지만 모든 작업이 완료된 후 시작 및 종료 시간에 대한 전체 경과 시간도 필요합니다.
dumpdir1="/u05/expdpdump/exppdb/dir1"
for i in $dumpdir1/*.dmp
do
echo " time rclone sync $i NoTDE_Mig1:IC_dbbackup_config_datapump_v00rcfh_iad3p2 &"
done
dumpdir2="/u05/expdpdump/exppdb/dir2"
for i in $dumpdir2/*.dmp
do
echo " time rclone sync $i NoTDE_Mig1:IC_dbbackup_config_datapump_v00rcfh_iad3p2 &"
done```
답변1
이 같은:
# `time` will give the total time
time parallel -j0 --joblog mylog rclone sync {} NoTDE_Mig1:IC_dbbackup_config_datapump_v00rcfh_iad3p2 ::: /u05/expdpdump/exppdb/dir{1,2}/*.dmp
# the log contains the time per file
cat mylog
디스크에 따라 모든 명령을 병렬로 실행하지 않으면 더 나은 성능을 얻을 수 있습니다. 을 교체 -j0
하여 병렬로 실행되는 작업 수를 5개로 제한 할 수 있습니다 -j5
.