Estou executando um script nocturno para sincronizar uma pasta remota (fonte) com uma pasta local (destino). Eu testei este script, baseado em rsync, e funciona bem em um shell de root. Leva tempo desde que há centenas de shows para copiar, mas funciona.
Depois de usá-lo no crontab, meu servidor fica sem memória.
Meu servidor tem 8GB de RAM, 4GB de swap e, como eu disse, o script nunca é OOM quando executado manualmente a partir de um shell. É uma instalação padrão do Centos 5.5. Eu poderia dividir a carga e sincronizar todos os dirs segundo nível em um script find / for, mas eu gostaria de mantê-lo simples e só sincronizar os diretórios de nível superior.
Não posso fazer muitos testes, pois esse servidor é usado para hospedar sites e outros serviços e não posso pendurá-lo apenas para fins de teste. Você conhece uma configuração que poderia permitir que o cron concluísse esse trabalho normalmente?
#!/bin/bash
BACKUP_PATH="/root/scripts/backup"
rsync -av --delete /net/hostname/source/ /export/target/ > $BACKUP_PATH/backup_results_ok 2> $BACKUP_PATH/backup_results_error
edit: a configuração do cron é o padrão, como /etc/security/limits.conf, que é todo comentado.