Supondo que não está no caminho para esse usuário. Experimente /bin/hostname
... por isso estou tentando girar registros em instâncias do servidor em escala automática da nuvem amazon a cada hora. Eu criei /etc/cron.hourly/logrotate para ler:
#!/bin/bash
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate -f /etc/logrotate.conf
E alterei o /etc/logrotate.d/apache2 para ler:
/var/log/apache2/*.log {
missingok
rotate 100
create 640 root adm
sharedscripts
postrotate
neoBucket="widget-chapp/dev/log/";
neoService="apache";
neoDate=$(date +\%Y\%m\%d\%H);
echo "hostname: $HOSTNAME";
neoHost='echo "$HOSTNAME" | sed "s/-//g"';
# prepend neoService and append YYYYMMDDHH
for f in *.log.1;
do
mv ./$f "$neoHost-$neoService-${f%1}$neoDate";
done
# gracefully restart the apache service
apachectl graceful
# tar the files
tar -czf "$neoHost-$neoService-$neoDate.tgz" "$neoHost-$neoService-*.$neoDate"
echo "neoHost: $neoHost";
# send the rotated files to s3 bucket
s3cmd put "$neoHost-$neoService-$neoDate.tgz" s3://$neoBucket > /dev/null
# remove the individual log files
rm "$neoHost-$neoService-*.$neoDate";
endscript
}
... aqui está a pergunta ... como obtenho o valor $ HOSTNAME ... a julgar pela saída na linha 10 no bloco postrotate está vazio.