gpt4 book ai didi

ubuntu - 如何使用 cron 作为 root 用户重新加载远程服务器的 nginx

转载 作者:行者123 更新时间:2023-12-04 18:41:06 27 4
gpt4 key购买 nike

我正在使用 rsync 将 nginx 配置从服务器 A 中继到服务器 B:

0,10 * * * * rsync -avz -O --delete /etc/nginx/sites-available -e "ssh -i /home/ubuntu/key.pem" ubuntu@example.com:/etc/nginx

一旦完成(每 10 分钟),我需要重新加载远程服务器的配置。如何执行 service nginx reload在远程服务器上作为根?

更新:

我需要通过 ubuntu连接的原因用户然后更改为root,然后才重新加载是因为ngnix无法使用除root以外的任何用户重新加载:
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2016/06/05 07:18:27 [warn] 15345#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2016/06/05 07:18:27 [emerg] 15345#0: ipv6only is not supported on addr "0.0.0.0:80", ignored in /etc/nginx/sites-enabled/default:4
2016/06/05 07:18:27 [notice] 15345#0: signal process started
2016/06/05 07:18:27 [alert] 15345#0: kill(987, 1) failed (1: Operation not permitted)

最佳答案

您可以通过执行以下操作以 root 身份执行命令:

systemctl --host root@example.com reload nginx

example.com 主机需要 PermitRootLogin
由于您不想提示输入密码,因此您需要像 rsync 一样创建一个证书并将其粘贴到 ./ssh/

关于ubuntu - 如何使用 cron 作为 root 用户重新加载远程服务器的 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com