Eu julgo que se algum serviço necessita ser reiniciado pelo cron é que algo está errado em seu servidor. Mas caso realmente queira agendar um restart do Apache, abra o crontab em editor de texto amigável;
nano /etc/crontab
Acrescente a seguinte linha ao final do arquivo;
0 7 * * * /usr/local/apache/bin/apachectl restart
O valor 7 se refere ao horário que deseja fazer o restart. Agora o Apache esta agendado para reiniciar todas as manhas as 7 horas. Salve o arquivo e Pronto! (no nano, para salvar pressione Ctrl + X e depois pressione Y)
Se precisar agendar em intervalos de tempo como por exemplo; reiniciar de hora em hora, utilize;
0 * * * * /usr/local/apache/bin/apachectl restart
Onde o zero representa o ciclo de 60 segundos.
Você tambem pode agendar outros serviços, os comandos para servidores que usam CPanel seguem a tabela a seguir;
MySQL | Banco de Dados | /etc/init.d/mysql restart |
EXIM | Serviço de e-mail | /etc/init.d/exim restart |
SSH | Serviço de Acesso Remoto ao Shell | /etc/init.d/sshd restart |
IpTABLES | Firewall | /etc/init.d/iptables restart |
FTP | Serviço de FTP do Pure-FTPD | /etc/init.d/pure-ftpd restart |
OBS: Note que para reiniciar o Apache eu não usei o tradicional /etc/init.d/httpd restart Isso porque o /etc/init.d/httpd reinicia apenas o Apache, já pelo comando /usr/local/apache/bin/apachectl restart eu reinicio também o nginx ou Varnish caso algum esteja em uso.