Compare commits

...

3 Commits

Author SHA1 Message Date
ea42e14006 exclude chrome files 2025-09-24 08:12:20 +03:00
a7b9f7433d create .gitignore file 2025-09-24 08:11:58 +03:00
2c9f03ee52 change README.md 2025-09-24 08:11:42 +03:00
3 changed files with 29 additions and 22 deletions

0
.gitignore vendored Normal file
View File

View File

@@ -35,6 +35,9 @@ Thumbs.db
.config/google-chrome/*/History Index *
.config/google-chrome/*/Service Worker/CacheStorage
.config/google-chrome/*/WebStorage/*/CacheStorage
.config/google-chrome/SingletonCookie
.config/google-chrome/SingletonLock
.config/google-chrome/SingletonSocket
# VS Code
.config/Code/logs/

View File

@@ -3,30 +3,32 @@ This project maintains a list of directories and files you probably do not need
## Usage:
# download to `.rsync-ignore`
wget https://gitaly.ru/anpleenko/rsync/raw/branch/main/.rsync-ignore -O .rsync-ignore
# or clone and copy to `.rsync-ignore`
git clone https://gitaly.ru/anpleenko/rsync
cd rsync-homedir-excludes
cp rsync-homedir-excludes.txt .rsync-ignore
```
# download to `.rsync-ignore`
wget https://gitaly.ru/anpleenko/rsync/raw/branch/main/.rsync-ignore -O .rsync-ignore
# or clone and copy to `.rsync-ignore`
git clone https://gitaly.ru/anpleenko/rsync
cd rsync-homedir-excludes
cp rsync-homedir-excludes.txt .rsync-ignore
# edit the file .rsync-ignore to your needs
nano .rsync-ignore
# edit the file .rsync-ignore to your needs
nano .rsync-ignore
# define a Backup directory (with trailing slash!)
# some examples:
BACKUPDIR=/media/workspace/home/$USER
BACKUPDIR=/media/$USER/linuxbackup/home/$USER
BACKUPDIR=/media/$USER/USBSTICK/backup/home/$USER
# define a Backup directory (with trailing slash!)
# some examples:
BACKUPDIR=/media/workspace/home/$USER
BACKUPDIR=/media/$USER/linuxbackup/home/$USER
BACKUPDIR=/media/$USER/USBSTICK/backup/home/$USER
# first specify the "-n" parameter so rsync will simulate its operation. You should use this before you start:
rsync -naP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/
# first specify the "-n" parameter so rsync will simulate its operation. You should use this before you start:
rsync -naP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/
# check for permission denied errors in your homedir:
rsync -naP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/ | grep denied
# check for permission denied errors in your homedir:
rsync -naP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/ | grep denied
# if it is all fine, actually perform your backup:
rsync -aP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/
# if it is all fine, actually perform your backup:
rsync -aP --exclude-from=.rsync-ignore /home/$USER/ $BACKUPDIR/
```
You can edit the exclude file before execution:
- All lines starting with a `#` are ignored by rsync, i.e. those directories will be backed up.
@@ -37,8 +39,10 @@ You can edit the exclude file before execution:
When running locally or with the `--whole-file` option (for backups over SSH), rsync doesn't modify files but replaces them entirely. This allows us to create a snapshot directory (with hardlinks) with the state of the backup directory at a certain point in time.
Run this after finishing the `rsync` backup and it'll create a new snapshot:
BACKUPDIR=/media/workspace/home/$USER
SNAPSHOT_DIR="$BACKUPDIR.snapshot_$(date +'%Y-%m-%d_%H%M%S' -u)"
cp -al $BACKUPDIR $SNAPSHOT_DIR
```
BACKUPDIR=/media/workspace/home/$USER
SNAPSHOT_DIR="$BACKUPDIR.snapshot_$(date +'%Y-%m-%d_%H%M%S' -u)"
cp -al $BACKUPDIR $SNAPSHOT_DIR
```
Next time you run your backup, the snapshot directory will be intact despite the changes rsync made to the files in the backup directory.