运行 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

我的 crontab

* 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 点的每一分钟都会启动您给定命令的另一个实例。

相关内容