debuntu-toolkit/cleanup.sh
2016-06-01 12:28:33 -04:00

35 lines
1.6 KiB
Bash

#!/bin/bash
# AUTHOR: Josh North
# EMAIL: josh.north@point808.com
# BRIEF: Quick and dirty script to clear disk space (log files, apt cache, etc).
# This is most useful if creating a machine template or preparing for backups.
# USAGE: Put this file in /usr/local/bin/cleanup.sh or wherever you prefer is ok.
# Make sure to chmod +x and make it executable. Run from command line at will,
# or call from a pre-backup script.
# SETTINGS:
# -------------------- NOTHING TO CHANGE BELOW THIS LINE --------------------
# Delete old config files
apt-get purge $(dpkg -l|grep "^rc"|awk '{print $2}')
# Clean cache
apt-get autoremove -y && apt-get clean
# Clean apt lists - this will force re-download on next apt-get update and may not be desired
rm -rf /var/lib/apt/lists
# Delete some documentation
find /usr/share/doc -depth -type f ! -name copyright|xargs rm -rf
find /usr/share/doc -empty|xargs rmdir || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
find /usr/share/doc | egrep "\.gz" | xargs rm -rf
find /usr/share/doc | egrep "\.pdf$" | xargs rm -rf
find /usr/share/doc | egrep "\.tex$" | xargs rm -rf
find /usr/share/doc | egrep "\copyright" | xargs rm -rf
# Delete excess locales - modify if you want something else kept around!
find /usr/share/locale -mindepth 1 -maxdepth 1 ! -name 'en' |xargs rm -rf
# Delete old log files
logrotate -f /etc/logrotate.conf
find /var/log -type f -regex '.*/[^/]*.gz$' -delete && find /var/log -type f -regex '.*/[^/]*.[0-9]$' -delete
# Purge root and current user history
cat /dev/null > /root/.bash_history
cat /dev/null > ~/.bash_history
exit 0
# EOF