I was trying to automate some auto cleaning of my Ubuntu System, with Cron JobsI tryed to simplify this:sudo find /var/log -type f -name *.1.gz -deletesudo find /var/log -type f -name *.2.gz -deletesudo find /var/log -type f -name *.3.gz -deletesudo find /var/log -type f -name *.4.gz -delete,etc...into one command like this below but is not working, probably because I don't know...for i=[^0-9]; sudo find /var/log -type f -name *.$i.gzI tried similar ones but didn't worked too... :$i=[^0-9]; sudo find /var/log -type f -name *.$i.gzi=[^0-9]; sudo find /var/log -type f -name *.$i.gzi=[^0-9]+$; sudo find /var/log -type f -name *.$i.gzI can't see any output with this last four ones... and someones produces errors...So what is the correct command / syntax?And any other ideas to keep my mini server clean?Other question:If I run sudo find / -type f -name *.7.gzwill appear this one:/usr/share/doc/libruby1.9.1/NEWS-1.8.7.gzI can solve with this:if I run: sudo find / -type f -name *log.7.gzBUT I will probably skip those with *error.(0-9).gz extension and many others...Any idea to clean old logs under / without find/remove like these ones:/usr/share/doc/libruby1.9.1/NEWS-1.8.7.gzEDITin my /etc/logrotate.d are:/var/log/apache2/*.log {    weekly    missingok    rotate 52    compress    delaycompress    notifempty    create 640 root adm    sharedscripts    postrotate                if /etc/init.d/apache2 status > /dev/null ; then \                    /etc/init.d/apache2 reload > /dev/null; \                fi;    endscript    prerotate        if [ -d /etc/logrotate.d/httpd-prerotate ]; then \            run-parts /etc/logrotate.d/httpd-prerotate; \        fi; \    endscript}/var/log/apport.log {       daily       rotate 7       delaycompress       compress       notifempty       missingok}/var/log/apt/term.log {  rotate 12  monthly  compress  missingok  notifempty}/var/log/apt/history.log {  rotate 12  monthly  compress  missingok  notifempty}/var/log/aptitude {  rotate 6  monthly  compress  missingok  notifempty}/var/log/cups/*log {    daily    missingok    rotate 7    sharedscripts    prerotate        if [ -e /var/run/cups/cupsd.pid ]; then            invoke-rc.d --quiet cups stop > /dev/null            touch /var/run/cups/cupsd.stopped        fi    endscript    postrotate        if [ -e /var/run/cups/cupsd.stopped ]; then            rm /var/run/cups/cupsd.stopped            invoke-rc.d --quiet cups start > /dev/null            sleep 10        fi    endscript    compress    notifempty    create}/var/log/dpkg.log {    monthly    rotate 12    compress    delaycompress    missingok    notifempty    create 644 root root}/var/log/alternatives.log {    monthly    rotate 12    compress    delaycompress    missingok    notifempty    create 644 root root}# - I put everything in one block and added sharedscripts, so that mysql gets #   flush-logs'd only once.#   Else the binary logs would automatically increase by n times every day./var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log /var/log/mysql/error.log {    daily    rotate 7    missingok    create 640 mysql adm    compress    sharedscripts    postrotate        test -x /usr/bin/mysqladmin || exit 0        # If this fails, check debian.conf!         MYADMIN=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf        if [ -z `$MYADMIN ping 2>/dev/null` ]; then          # Really no mysqld or rather a missing debian-sys-maint user?          # If this occurs and is not a error please report a bug.          #if ps cax | grep -q mysqld; then          if killall -q -s0 -umysql mysqld; then            exit 1          fi         else          $MYADMIN flush-logs        fi    endscript}/var/log/pm-suspend.log /var/log/pm-powersave.log {       monthly       rotate 4       delaycompress       compress       notifempty       missingok}/var/log/ppp-connect-errors {    weekly    rotate 4    missingok    notifempty    compress    nocreate}/var/log/syslog{    rotate 7    daily    missingok    notifempty    delaycompress    compress    postrotate        reload rsyslog >/dev/null 2>&1 || true    endscript}/var/log/mail.info/var/log/mail.warn/var/log/mail.err/var/log/mail.log/var/log/daemon.log/var/log/kern.log/var/log/auth.log/var/log/user.log/var/log/lpr.log/var/log/cron.log/var/log/debug/var/log/messages{    rotate 4    weekly    missingok    notifempty    compress    delaycompress    sharedscripts    postrotate        reload rsyslog >/dev/null 2>&1 || true    endscript}/var/log/speech-dispatcher/speech-dispatcher.log /var/log/speech-dispatcher/speech-dispatcher-protocol.log {  daily  compress  missingok  sharedscripts  rotate 7  postrotate    /etc/init.d/speech-dispatcher reload >/dev/null  endscript}/var/log/speech-dispatcher/debug-epos-generic /var/log/speech-dispatcher/debug-festival /var/log/speech-dispatcher/debug-flite {  daily  compress  missingok  sharedscripts  rotate 2  postrotate    /etc/init.d/speech-dispatcher reload >/dev/null  endscript}/var/log/ufw.log{    rotate 4    weekly    missingok    notifempty    compress    delaycompress    sharedscripts    postrotate        invoke-rc.d rsyslog reload >/dev/null 2>&1 || true    endscript}/var/log/unattended-upgrades/unattended-upgrades.log /var/log/unattended-upgrades/unattended-upgrades-shutdown.log{  rotate 6  monthly  compress  missingok  notifempty}/var/log/upstart/*.log {        daily        missingok        rotate 7        compress        notifempty    nocreate}/var/log/vsftpd.log{    create 640 root adm    # ftpd doesn't handle SIGHUP properly    missingok    notifempty    rotate 4    weekly}and in /etc/logrotate.conf:# see man logrotate for details# rotate log files weeklyweekly# use the syslog group by default, since this is the owning group# of /var/log/syslog.su root syslog# keep 4 weeks worth of backlogsrotate 4# create new (empty) log files after rotating old onescreate# uncomment this if you want your log files compressed#compress# packages drop log rotation information into this directoryinclude /etc/logrotate.d# no packages own wtmp, or btmp -- we'll rotate them here/var/log/wtmp {    missingok    monthly    create 0664 root utmp    rotate 1}/var/log/btmp {    missingok    monthly    create 0660 root utmp    rotate 1}# system-specific logs may be configured hereCan I set up to 100k rotate 3 all logs per example? How? and how much logs will last at minimum with that configuration?
command to clean up old log files
command line;terminal;cron;logs;command
No need to use a for-loop here, you can just use find:sudo find /var/log/ -type f -regex '.*\.[0-9]+\.gz$' -deleteHowever, as it was suggested, check the manual page of logrotate for ways to reduce the number of files.