abbbi / abbbi/nullfsvfs

Easily selectively destroy temp files

Open
#2 1 comment 3 reactions 0 assignees View on GitHub
Usecase
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

![image](https://user-images.githubusercontent.com/1125541/94863210-b7cad800-03ff-11eb-9734-19720785d045.png)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.