Easily selectively destroy temp files
- Dominant language
- C
- Stars
- 319
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
## The Problem
Linux stores lots of cache files I don't give a damn about that take up many GBs of space. Today, I just reclaimed over 23 GB of space from just deleting one user's `~/.cache/` directories.
The issue arises that `rm` is not very safe and is very unwieldly when it comes to excluding patterns of files/directories I want to keep, while also having various race conditions of not deleting files added once the process starts.
To get past this, I wanted to use `rsync`, but it has no ability to JUST delete files. You have to copy them somewhere, first.
## The Solution
Enter `nullfsvfs`:
This is what I now have in my `/etc/cron.daily/clean-cache`:
```bash
#!/bin/bash
rsync -rv --remove-source-files --exclude={composer,spotify,skype,thumbnails,vim} /home/*/.cache/ /run/media/sinkhole/
for user in `ls /home`; do
find /home/$user/.cache/ -type d -empty -delete
done
```
-----
**Update:** I have officially released this as part of my [**BashScripts collection**](https://github.com/hopeseekr/BashScripts):
https://github.com/hopeseekr/BashScripts/blob/master/cron.daily/00_clear-cache

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.