運行 tar 指令會消耗所有資源

運行 tar 指令會消耗所有資源

我正在我的 ubuntu 12.04 伺服器上運行 Rails 應用程式。我設定了一個 cron 作業來備份每天凌晨 2 點上傳到我的應用程式的所有檔案。文件很多(大約 900 MB)。但是,當用戶必須在早上晚些時候使用該應用程式時,他們可以訪問它。所以我用 SSH 登入(速度慢得令人難以置信),最後我運行了一個 top 命令,發現 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 小時的每一分鐘。換句話說,凌晨 2 點的每一分鐘都會啟動給定命令的另一個實例。

相關內容