Comments (4)
Use case (from personal experience): I used to keep my email and personal files on a SD card so I could check it at home, at university, etc., without having to carry a laptop around. Unfortunately there was some corruption in the SD card (probably from the crappy $1 sd-to-usb device I bought), and tarsnap faithfully backed up the partially-damaged data. It took me a while to find the last good backup, then manually select which changes to which files were good (I'd worked on them in the past year) and which were bad (due to disk corruption).
I'm looking forward to adding this feature to tarsnap, since it would have avoided some personal pain, and it also plays into "backups for the truly paranoid".
from tarsnap.
Colin's feature description (from Jul 14) is addressed in #94. My "use case" (Aug 8) is irrelevant and somewhat misleading: in my case, the mtime and/or size of the files must have changed in order for tarsnap to back up the (corrupted) files. It's still possible that PR #94 would have given me a warning, but it's not guaranteed even if the code existed and I used a check probability of 1.0.
In order to check for filesize/mtime-changing disk corruption, I'd need a different approach.
from tarsnap.
Was your file changing every time you backed it up? If not, there's a good chance that this feature would have warned you when the file was corrupted and you hadn't (deliberately) modified it yet.
But if a file has been modified deliberately, there's no way tarsnap will ever be able to distinguish between "modified deliberately" and "modified deliberately and also corrupted at the same time".
from tarsnap.
I didn't keep careful notes. Sometime around March 2015 (I think?), I discovered that some of my lilypond files didn't compile because the text was corrupted. Further investigation revealed that some old emails also had random corruption (in email bodies and attachments). I checked the previous archive, and it showed the same corruption. I went a few farther back, and I still found it. I think I jumped back to around August 2013 to get the uncorrupted old emails... but remember that I only back up (manually) once every 1-5 months. I'm pretty certain I still have all those archives, so I could try to pin down more details if you want.
The main reason I added the "it might not have detected it" was to acknowledge that if the filesize or mtime changes, there's no way for the tarsnap client to know whether that was done by the user or disk corruption. To detect those possible flaws, we'd need something else.
from tarsnap.
Related Issues (20)
- tarsnap: Pathname in pax header can't be converted to current locale. HOT 9
- Misleading tarsnap error on negative account balance HOT 5
- lseek (_llseek) issue introduced in 1f56dc7c35b, possibly only on Linux i686 HOT 11
- Workaround for Windows Subsystem for Linux bug with link() HOT 1
- Add support for .gitignore files HOT 2
- escaping bug/typo in tarsnap(1) manpage HOT 1
- Machine name doesn't work with accents ? HOT 5
- master fails to build on old gcc (below version 9) HOT 9
- apt-key is deprecated - update installation instructions HOT 5
- Tarsnap Website Screen Reader Compatibility HOT 3
- Look for tarsnap.conf in ~/.config/tarsnap/ HOT 1
- Optional support for CACHEDIR.TAG files HOT 2
- New release? HOT 2
- Build fails on NetBSD HOT 4
- build: The <sys/sysctl.h> header is deprecated
- False warnings from clang-scan
- tarsnap can be tricked into skipping file using "touch -r" HOT 5
- libressl 3.6 will add `OPENSSL_cleanup()` HOT 1
- Deleting of archives taking up a lot of server -> client bandwidth HOT 6
- workaround for libc/kernel disagreement about whether lchmod exists HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tarsnap.