Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Logrotate & upload nginx logfiles to s3://bucket/dt=..../hostname.log...gz
# Nginx - logrotate & upload to S3
0 0 * * * /usr/sbin/logrotate /etc/logrotate.d/nginx
15 0 * * * s3cmd put /var/log/nginx/access.log-`date +"\%Y\%m\%d"`.gz s3://$LOGS_BUCKET_NAME/nginx-access/`date +"dt=\%Y\%m\%d"`/`hostname -s`.access.log-`date +"\%Y\%m\%d"`.gz
/var/log/nginx/error.log {
daily
rotate 30
copytruncate
compress
notifempty
missingok
}
/var/log/nginx/access.log {
daily
rotate 30
compress
missingok
notifempty
sharedscripts
dateext
postrotate
kill -USR1 `\/usr\/bin\/pgrep -f \/usr\/local\/nginx\/sbin\/nginx` \
endscript
}
find /var/log/nginx/ -type f -mmin -10 -name "access.log*.gz" -exec sh -c "s3cmd put {} s3://$LOGS_BUCKET_NAME/nginx-access/\`date +\"dt=%Y%m%d\"\`/\`hostname -s\`.\`basename {}\`" \;
@samratBasra
Copy link

samratBasra commented Dec 19, 2017

but s3cmd command is not sending/uploading the latest log file on s3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment