linux - improving my backup bash script -


hello keep log files under /opt/project/logs/ , want daily copy these /opt/bkp compressing them.

for have written , works well:

#!/bin/bash  getdate(){   date --date="$1 days ago" "+%y_%m_%d" }  rm -rf "/opt/bkp/logs/myapp_log_"$(getdate 365).gz ; /bin/cat /opt/project/logs/myapp.log | gzip > /opt/bkp/logs/myapp_log_`date +%y_%m_%d`.gz ; echo "" > /opt/project/logs/myapp.log ; 

however not functional or general, have several applications saving files names ie app1.log app2.log under same /opt/project/logs/ folder. how can make "function" script reads each file under /opt/project/logs/ directory , taking backup of each file ends .log extension?

you use logrotate(8) tool came distro. :) manpage has example looks close need:

  /var/log/news/* {        monthly        rotate 2        olddir /var/log/news/old        missingok        postrotate            kill -hup `cat /var/run/inn.pid`        endscript        nocompress    } 

well, not monthly bit, or restarting inn :) hope idea add new config file /etc/logrotate.d/ , not worry again. :)


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -