Skip to content

Commit 2f4d08b

Browse files
authored
Merge pull request #36 from cytopia/release-0.7
Release v0.7
2 parents ee50fc4 + ae99f92 commit 2f4d08b

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Changelog
22

33

4+
## Release v0.7
5+
6+
#### Changed
7+
- [#21](https://github.com/cytopia/linux-timemachine/issues/21) No preservation of symlinks
8+
9+
410
## Release v0.6
511

612
#### Fixed

README.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Linux TimeMachine (cli-only)
22

3-
**[Install](#install)** | **[Uninstall](#uninstall)** | **[TL;DR](#tldr)** | **[Features](#features)** | **[Backups](#backups)** | **[Failures](#failures)** | **[Usage](#usage)** | **[License](#license)**
3+
**[Install](#install)** | **[Uninstall](#uninstall)** | **[TL;DR](#tldr)** | **[Features](#features)** | **[Backups](#backups)** | **[Failures](#failures)** | **[Usage](#usage)** | **[Troubleshooting](#troubleshooting)** | **[License](#license)**
44

55
[![Linting](https://github.com/cytopia/linux-timemachine/workflows/Linting/badge.svg)](https://github.com/cytopia/linux-timemachine/actions?workflow=Linting)
66
[![Linux](https://github.com/cytopia/linux-timemachine/workflows/Linux/badge.svg)](https://github.com/cytopia/linux-timemachine/actions?workflow=Linux)
@@ -10,7 +10,9 @@
1010

1111
This shell script mimics the behavior of OSX's timemachine. It uses [rsync](https://linux.die.net/man/1/rsync) to incrementally back up your data to a different directory or hard disk. All operations are incremental, atomic and automatically resumable.
1212

13-
By default the only rsync option used is `--recursive`. This is because some remote NAS implementations do not support symlinks, changing owner, group or permissions (due to restrictive ACL's). If you want to use any other rsync arguments, you can simply append them.
13+
By default the only rsync option used are `--recursive`, `--times` and `--links`. This is because some remote NAS implementations do not support, changing owner, group or permissions (due to restrictive ACL's). If you want to use any other rsync arguments, you can simply append them.
14+
15+
If you destination filesystem does not support symlinks see [Troubleshooting](#troubleshooting).
1416

1517

1618
## Install
@@ -35,7 +37,7 @@ $ timemachine /source/dir /target/dir
3537

3638
# Append rsync options
3739
$ timemachine /source/dir /target/dir -- --specials --progress
38-
$ timemachine /source/dir /target/dir -- --specials --links --times --perms
40+
$ timemachine /source/dir /target/dir -- --specials --perms
3941
$ timemachine /source/dir /target/dir -- --archive --progress
4042

4143
# Make the timemachine script be more verbose
@@ -150,14 +152,25 @@ Examples:
150152
Do the same, but be verbose
151153
timemachine -v /home/user /data
152154
Append rsync options and be verbose
153-
timemachine /home/user /data -- --links --times --perms --special
155+
timemachine /home/user /data -- --perms --special
154156
timemachine --verbose /home/user /data -- --archive --progress --verbose
155157
Recommendation for cron run (no stdout, but stderr)
156158
timemachine /home/user /data -- -q
157159
timemachine /home/user -v /data -- --verbose > /var/log/timemachine.log
158160
```
159161

160162

163+
## Troubleshooting
164+
165+
### Target filesystem does not support symlinks
166+
In case your target filesystem does not support symlinks, you can explicitly disable them and have
167+
them copied as files via:
168+
```bash
169+
$ timemachine src/ dst/ -- --copy-links
170+
$ timemachine src/ dst/ -- -L
171+
```
172+
173+
161174
## License
162175

163176
[MIT License](LICENSE.md)

timemachine

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ MY_DESC="OSX-like timemachine cli script for Linux and BSD (and even OSX)"
1212
MY_PROJ="https://github.com/cytopia/linux-timemachine"
1313
MY_AUTH="cytopia"
1414
MY_MAIL="cytopia@everythingcli.org"
15-
MY_VERS="0.6"
15+
MY_VERS="0.7"
1616
MY_DATE="2020-03-29"
1717

1818
# cmd [-r] <src> <dst> [rsync opts]
@@ -56,7 +56,7 @@ print_usage() {
5656
echo " Do the same, but be verbose"
5757
echo " timemachine -v /home/user /data"
5858
echo " Append rsync options and be verbose"
59-
echo " timemachine /home/user /data -- --links --times --perms --special"
59+
echo " timemachine /home/user /data -- --perms --special"
6060
echo " timemachine --verbose /home/user /data -- --archive --progress --verbose"
6161
echo " Recommendation for cron run (no stdout, but stderr)"
6262
echo " timemachine /home/user /data -- -q"
@@ -192,6 +192,7 @@ if test -L "${DEST}/${BACKUP_LATEST}"; then
192192
rsync \
193193
--recursive \
194194
--times \
195+
--links \
195196
--delete \
196197
--delete-excluded \
197198
--partial-dir="${RSYNC_PARTIAL}" \
@@ -206,6 +207,7 @@ else
206207
rsync \
207208
--recursive \
208209
--times \
210+
--links \
209211
--delete \
210212
--delete-excluded \
211213
--partial-dir="${RSYNC_PARTIAL}" \

0 commit comments

Comments
 (0)