You can setup cron.monthly to run
sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-3.13.0-44 linux-headers-3.13.0-44-generic
linux-headers-3.13.0-48 linux-headers-3.13.0-48-generic
linux-headers-3.13.0-49 linux-headers-3.13.0-49-generic
linux-headers-3.13.0-51 linux-headers-3.13.0-51-generic
linux-headers-3.13.0-52 linux-headers-3.13.0-52-generic
linux-image-3.13.0-44-generic linux-image-3.13.0-48-generic
linux-image-3.13.0-49-generic linux-image-3.13.0-51-generic
linux-image-3.13.0-52-generic linux-image-extra-3.13.0-44-generic
linux-image-extra-3.13.0-48-generic linux-image-extra-3.13.0-49-generic
linux-image-extra-3.13.0-51-generic linux-image-extra-3.13.0-52-generic
0 upgraded, 0 newly installed, 20 to remove and 0 not upgraded.
This is very useful if you are autodownloading the kernels about ever 3 weeks, because apt will start to fail.
Do not manually delete the old kernels as the grub config will get messed up.
grub2 reconfig is run automatically when the kernels are removed by this processes.
[..snip..]
done
Removing linux-image-3.13.0-51-generic (3.13.0-51.84) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-51-generic /boot/vmlinuz-3.13.0-51-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-51-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-51-generic /boot/vmlinuz-3.13.0-51-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-57-generic
Found linux image: /boot/vmlinuz-3.13.0-54-generic
Found initrd image: /boot/initrd.img-3.13.0-54-generic
[..snip..]