Можно ли это объяснить:
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
(содержимое /etc/logrotate.d/nginx)?
Почему это не так
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
потому что мы не должны отправлять сигнал, только если файл nginx.pid существует? если pid не существует, значит, nginx не запущен, и мы не можем отправить сигнал главному процессу?