在 crontab 中使用 tar 显示多个进程

在 crontab 中使用 tar 显示多个进程

我在 crontab 中有 tar 命令

52 9 * * * sudo tar czpf /path/tar.gz  /data

但是当我 grep ps 输出时我得到了这个

john  19496  0.0  0.0   4508   840 ?        Ss   09:52   0:00 /bin/sh -c sudo tar czpf /A_BACKUPS/data-full-`date "+%d-%m-%Y-%H:%M"`.tar.gz /data  > /home/john/logs/cron__TAR__DATA-`date "+%d-%m-%Y-%H:%M"`.txt 2>&1
root     19499  0.0  0.0  48576  3532 ?        S    09:52   0:00 sudo tar czpf /A_BACKUPS/data-full-07-02-2017-09:52.tar.gz /data
root     19500  3.3  0.0  29572  2892 ?        S    09:52   0:04 tar czpf /A_BACKUPS/data-full-07-02-2017-09:52.tar.gz /data
john  19528  0.0  0.0  16572  2136 pts/0    S+   09:54   0:00 grep --color=auto A_BA

为什么有 3 个不同的流程

答案1

Cron 命令行可以是复杂的 shell 命令,因此它们是使用 shell 执行的。因此sh -c ...。然后,您将得到命令行在其自己的进程中执行的实际命令 - sudo ...。然后,您将得到启动的命令sudotar。最后,您将得到grep,因为你用过ps | grep

相关内容