У меня есть команда tar в crontab
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 различных процесса для этого
Командные строки крона могут быть сложными командами оболочки, таким образом, они выполняются с помощью оболочек. Следовательно sh -c ...
. Затем Вам выполнила фактические команды командная строка в ее собственных процессах - sudo ...
. Затем у Вас есть команда, которая sudo
запустилась, tar
. И наконец Вы имеете эти grep
, потому что Вы использовали ps | grep
.