tar 명령을 실행하면 모든 리소스가 소모됩니다.

tar 명령을 실행하면 모든 리소스가 소모됩니다.

우분투 12.04 서버에서 Rails 애플리케이션을 실행하고 있습니다. 매일 아침 오전 2시에 애플리케이션에 업로드된 모든 파일을 백업하도록 크론 작업을 설정했습니다. 파일이 너무 많습니다(약 900MB). 하지만 사용자가 아침에 나중에 앱을 사용해야 하는 경우 앱에 액세스할 수 있습니다. 그래서 마침내 top 명령을 실행했을 때 SSH로 로그인했는데(놀라울 정도로 느려졌습니다) gzip 프로세스가 상위 10위를 모두 채우고 있는 것을 확인했습니다. 꽤 작지만 더 많은 것이 있을 것으로 생각됩니다.

이것은 실행되는 tar 명령입니다.

tar -cvzf $BASEBACKUP/uploads-$DATE.tar.gz /var/www/bptrial/current/public/uploads/* --exclude=tmp

내 크론탭

* 2 * * * cd /home/user/backup && sh mysql_backup.sh && sh files_backup.sh  >> /tmp/cron.log

900MB의 파일을 압축하는 데 정말 많은 시간이 걸리나요? 그리고 왜 모든 자원을 먹어야 합니까?

답변1

나는 fkraiem이 옳다고 생각합니다.
자세히 설명하자면:

crontab 매뉴얼 페이지에 따르면

user@host $ man 5 crontab 

시간 및 날짜 필드는 다음과 같습니다.

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)

   A field may be an asterisk (*), which always stands for ``first-last''.

당신의 명령에

#m h  dom mon dow   command  
 * 2   *   *   *    cd /home/user/backup...  

당신은 매월, 매일, 매일, 매 2시간, 매 1분마다라고 말하고 있습니다. 즉, 오전 2시 매분마다 주어진 명령의 또 다른 인스턴스가 시작됩니다.

관련 정보