cronjob으로 대용량 파일 이동 : 다음에 실행할 때 mv가 계속 실행되면 어떻게됩니까?

cis

Ubuntu 16.04 헤드리스 시스템에는 두 개의 디렉토리가 있습니다. cronjob이 모든 파일을 디렉터리 A에서 디렉터리 B (동일한 파티션, 동일한 하드 드라이브, 동일한 파일 시스템 등)로 이동하기를 원합니다. 문제는 다음과 같을 수 있습니다. 파일이 매우 크고 어떤 이유로 cronjob이 매분마다 자주 실행되어야합니다.

따라서 다음 시나리오는 매우 가능성이 높습니다. cronjob이 처음으로 시작되고 디렉토리 A에서 큰 파일을 찾아서 디렉토리 B로 이동하기 시작합니다. mv 프로세스가 계속 실행되는 동안 cronjob이 두 번째로 실행됩니다. 이로 인해 문제가 발생합니까?

나는이 질문을 발견하고 여러 프로세스가 두 개의 서로 다른 파일 시스템 사이에서 동일한 파일을 mv하려고 할 때 어떤 일이 발생 하지만 동시에 시작된 프로세스에 관한 것이라고 생각합니다. cronjobs가 원치 않는 동작을 방지하는 방법이 있기를 바랍니다.

Rinzwind

mv 프로세스가 계속 실행되는 동안 cronjob이 두 번째로 실행됩니다. 이로 인해 문제가 발생합니까?

그렇습니다.

일반적으로 스크립트를 작성하고 해당 스크립트에 상호 배제 잠금 (MUTEX)을 넣고 잠금이 있으면 스크립트 실행을 중지하고 첫 번째 cronjob에서 "mv"가 완료되면 잠금을 제거하는 것이 좋습니다.

아주 기본적인 예 :

if mkdir /var/lock/mylock; then
  mv your_file /to/a/directory/
  rm -rf /var/lock/mylock
else
  exit 1
fi

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Firebase 데이터베이스에 +1을 추가하면 최대 용량이 될 때까지 계속 실행됩니다. 실행시 하나만 추가하려면 어떻게해야합니까?

분류에서Dev

대용량 파일을 hadoop 클러스터에로드 할 때 데이터 노드로 데이터를 전송하는 동안 클라이언트가 실패하면 어떻게됩니까?

분류에서Dev

대상 파일의 이름을 바꾸거나 이동할 때 tar가 계속 실행되는 이유

분류에서Dev

미디어 플레이어가 실행 중일 때 애니메이션을 시작하려면 어떻게해야합니까? 미디어 플레이어가 실행되지 않으면 애니메이션도 실행되지 않습니다.

분류에서Dev

FindFirstFile은 암호화 할 때 동일한 파일을 계속 실행합니다.

분류에서Dev

서버 측 코드가있는 파일이 실행 중에 삭제되면 어떻게됩니까?

분류에서Dev

사용자 지정 셀이있는 내 CollectionView가 처음에 컴파일 / 실행되는 경우에도 프로그램을 계속 충돌시킵니다.

분류에서Dev

Fiddler가 실행되지 않으면 NTLM 인증이 JS 파일에 대해 작동하지 않습니다.

분류에서Dev

응용 프로그램이 절전 모드 인 동안 PerformSelector가 실행되면 어떻게됩니까?

분류에서Dev

프로그램이 실행 중일 때 터미널에서 Ctrl-T를 누르면 어떻게됩니까?

분류에서Dev

cronjob으로 실행할 때 스크립트가 예상대로 작동하지 않음

분류에서Dev

Angular 응용 프로그램은 어떻게 실행됩니까? 어떤 파일이 먼저 실행됩니까?

분류에서Dev

한 시스템에서 파일을 실행 가능하게 만들면 다른 시스템으로 이동해도 그대로 유지됩니까?

분류에서Dev

내 CSV 파일 출력에서 NONREF를 제거하려면 어떻게해야 스크립트가 실행될 때 행이 인쇄되지 않습니까?

분류에서Dev

Java에서 elasticsearch 스크롤을 사용할 때 프로그램이 계속 실행됩니다.

분류에서Dev

나중에 프로그램을 실행할 때 이전 실행의 정보를 어떻게 사용할 수 있으며 텍스트 파일의 한 줄을 어떻게 변경합니까?

분류에서Dev

응용 프로그램을 열 때 어떤 파일이 실행되는지 어떻게 알 수 있습니까?

분류에서Dev

qlmanage가 실행되는 동안 터미널을 계속 사용하려면 어떻게합니까?

분류에서Dev

동적으로 생성되는 파일 이름 배열을 사용하여 Grunt에서 작업을 어떻게 실행할 수 있습니까?

분류에서Dev

cronjob / mail을 사용하여 외부 클라이언트에 파일을 실행할 때마다 phpmailer 첨부 파일이 실패하지만 명령 줄에서 스크립트를 실행할 때마다 작동합니다.

분류에서Dev

xlwings에서 파이썬 스크립트를 실행할 때 바쁜 (모래 시계) 마우스 커서로 Excel이 어떻게 작동합니까?

분류에서Dev

xlwings에서 파이썬 스크립트를 실행할 때 바쁜 (모래 시계) 마우스 커서로 Excel이 어떻게 작동합니까?

분류에서Dev

이 코드가 컴파일러에서 어떻게 실행됩니까?

분류에서Dev

종속 파일이 수정 될 때 CMake가 add_custom_command를 다시 실행하도록하려면 어떻게해야합니까?

분류에서Dev

Python 스크립트는 수동으로 실행할 때 모든 이미지 파일을 생성하지만 cronjob으로 실행할 때는 생성하지 않습니다.

분류에서Dev

`./command.sh &`를 실행하면 백그라운드 작업이 일시 중지됩니다. 계속 실행하려면 어떻게해야합니까?

분류에서Dev

파이썬에서 열 때 변수가 파일에 할당되면 변수가 다시 할당되면 파일은 어떻게됩니까?

분류에서Dev

Rust 프로그램에서 조건이 "false"일 때 "if"문이 실행됩니다. 어떻게 이해할 수 있습니까?

분류에서Dev

하나에 대해서만 계산을 수행 할 때 두 어레이가 동일 해지는 것을 방지하려면 어떻게합니까?

Related 관련 기사

  1. 1

    Firebase 데이터베이스에 +1을 추가하면 최대 용량이 될 때까지 계속 실행됩니다. 실행시 하나만 추가하려면 어떻게해야합니까?

  2. 2

    대용량 파일을 hadoop 클러스터에로드 할 때 데이터 노드로 데이터를 전송하는 동안 클라이언트가 실패하면 어떻게됩니까?

  3. 3

    대상 파일의 이름을 바꾸거나 이동할 때 tar가 계속 실행되는 이유

  4. 4

    미디어 플레이어가 실행 중일 때 애니메이션을 시작하려면 어떻게해야합니까? 미디어 플레이어가 실행되지 않으면 애니메이션도 실행되지 않습니다.

  5. 5

    FindFirstFile은 암호화 할 때 동일한 파일을 계속 실행합니다.

  6. 6

    서버 측 코드가있는 파일이 실행 중에 삭제되면 어떻게됩니까?

  7. 7

    사용자 지정 셀이있는 내 CollectionView가 처음에 컴파일 / 실행되는 경우에도 프로그램을 계속 충돌시킵니다.

  8. 8

    Fiddler가 실행되지 않으면 NTLM 인증이 JS 파일에 대해 작동하지 않습니다.

  9. 9

    응용 프로그램이 절전 모드 인 동안 PerformSelector가 실행되면 어떻게됩니까?

  10. 10

    프로그램이 실행 중일 때 터미널에서 Ctrl-T를 누르면 어떻게됩니까?

  11. 11

    cronjob으로 실행할 때 스크립트가 예상대로 작동하지 않음

  12. 12

    Angular 응용 프로그램은 어떻게 실행됩니까? 어떤 파일이 먼저 실행됩니까?

  13. 13

    한 시스템에서 파일을 실행 가능하게 만들면 다른 시스템으로 이동해도 그대로 유지됩니까?

  14. 14

    내 CSV 파일 출력에서 NONREF를 제거하려면 어떻게해야 스크립트가 실행될 때 행이 인쇄되지 않습니까?

  15. 15

    Java에서 elasticsearch 스크롤을 사용할 때 프로그램이 계속 실행됩니다.

  16. 16

    나중에 프로그램을 실행할 때 이전 실행의 정보를 어떻게 사용할 수 있으며 텍스트 파일의 한 줄을 어떻게 변경합니까?

  17. 17

    응용 프로그램을 열 때 어떤 파일이 실행되는지 어떻게 알 수 있습니까?

  18. 18

    qlmanage가 실행되는 동안 터미널을 계속 사용하려면 어떻게합니까?

  19. 19

    동적으로 생성되는 파일 이름 배열을 사용하여 Grunt에서 작업을 어떻게 실행할 수 있습니까?

  20. 20

    cronjob / mail을 사용하여 외부 클라이언트에 파일을 실행할 때마다 phpmailer 첨부 파일이 실패하지만 명령 줄에서 스크립트를 실행할 때마다 작동합니다.

  21. 21

    xlwings에서 파이썬 스크립트를 실행할 때 바쁜 (모래 시계) 마우스 커서로 Excel이 어떻게 작동합니까?

  22. 22

    xlwings에서 파이썬 스크립트를 실행할 때 바쁜 (모래 시계) 마우스 커서로 Excel이 어떻게 작동합니까?

  23. 23

    이 코드가 컴파일러에서 어떻게 실행됩니까?

  24. 24

    종속 파일이 수정 될 때 CMake가 add_custom_command를 다시 실행하도록하려면 어떻게해야합니까?

  25. 25

    Python 스크립트는 수동으로 실행할 때 모든 이미지 파일을 생성하지만 cronjob으로 실행할 때는 생성하지 않습니다.

  26. 26

    `./command.sh &`를 실행하면 백그라운드 작업이 일시 중지됩니다. 계속 실행하려면 어떻게해야합니까?

  27. 27

    파이썬에서 열 때 변수가 파일에 할당되면 변수가 다시 할당되면 파일은 어떻게됩니까?

  28. 28

    Rust 프로그램에서 조건이 "false"일 때 "if"문이 실행됩니다. 어떻게 이해할 수 있습니까?

  29. 29

    하나에 대해서만 계산을 수행 할 때 두 어레이가 동일 해지는 것을 방지하려면 어떻게합니까?

뜨겁다태그

보관