Na minha experiência, uma reinicialização de manutenção deve começar com a camada externa. Então, em primeiro lugar, o servidor de aplicativos (apache, em seguida, php-fpm ou uwsgi etc.) seguido pelo (s) banco (s) de dados. Se você é tão paranoico quanto eu, execute htop e netstat para garantir que tudo esteja fechado. Então, se você quiser garantir que o cache do hdd seja liberado, você pode chamar sync.
Tudo o que resta é uma reinicialização.
Na maioria dos casos, deve ser seguro apenas chamar a reinicialização, mas a segurança é a melhor política.