rc.local 中的重定向输出不起作用

rc.local 中的重定向输出不起作用

在我的rc.local文件夹中,我添加了此命令。'

/home/rootadmin/.virtualenvs/data_collection/bin/uwsgi --ini /etc/uwsgi/sites/data_collection_project.ini &>> /etc/uwsgi/uwsgioutput.txt

我以为&>> /etc/uwsgi/uwsgioutput.txt会将此命令的所有输出重定向到/etc/uwsgi/uwsgioutput.txt。相反,如果我运行sudo service rc.local start,则所有输出都将在该 shell 中可见。如果我打开另一个 shell,则不会显示任何输出。在这两种情况下,都不会写入任何内容/etc/uwsgi/uwsgioutput.txt

答案1

&>>巴什主义- 它不会被dashshell 理解,因为 (AFAIK) 仍然是默认的/etc/rc.local(相反,它会将其理解为&紧接着的>>即后台命令,然后不向文件附加任何内容)。

您需要更改命令以使用 POSIX 形式的重定向,即cmd >> outfile 2>&1

/home/rootadmin/.virtualenvs/data_collection/bin/uwsgi --ini /etc/uwsgi/sites/data_collection_project.ini >> /etc/uwsgi/uwsgioutput.txt 2>&1

相关内容