Package: krummstiel
KrummstielKrummstiel is a small Python script automating regular backup apple ios device. The idea is to incrementally save
pictures to your server/desktop. It is in use on Linux, but could be run on macOS as well with the proper tools
installed.FeaturesImplemented:Automatically mount and copy Files to Backup path via rsync for configured and connected devices.Configuration of backup pathConfigure excluded paths globally or per DeviceHelp in connecting new devicesSilently ignore disconnected devicesPlanned Features:Notify user of the backup start and finished on the deviceDelete old photos and videos from the device after backup. Should understand not to delete Favourites or specified
albums. For that thePhotos.sqlitedatabase has to be read and understood. My efforts to understand the database
are found inphotossqlite.mdFile.Backup application dataGet StartedInstall required tools and libraries:Linux (Ubuntu 20.4):aptinstalllibimobiledevice6libimobiledevice-utilsifusersyncmacOS:brewinstall--caskosxfuse
brewinstalllibimobiledeviceifuseClone this Repository or getkrummstiel.pyCreate a target directory that will contain the backups e.g. viamkdir /mnt/data/iphone_backupsCreate your config file fromexample.iniDiscover connected devices viakrummstiel.py--discover--config"/path/to/myconfig.ini"run the script via:krummstiel.py--config"/path/to/myconfig.ini"--verboseConfigConfiguration is done via .ini File and is passed via--configor-cparameter.[DEFAULT]# path fo the backup, the name of the device will always be appendedbackup_path=/mnt/data/iphone_backups# excludes can be an json array or a single value see example of iphone1# format is for rsync --exclude syntaxexclude=Podcasts# Section naming will be used for identifying the ios device# Section is the uid of the ios device[1234567890abcdef1234567890abcdef12345678]# name is used to create the folder and copy filesname=my_iphone# exclude can be repeated and is overriding exclude of the DEFAULT section# json arrayexclude=["Podcasts", "Books"]Automating with UDEV (Linux only)Udevallows you to run scripts when devices are plugged in.Examples:https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-inhttps://github.com/justinpearson/Raspberry-Pi-for-iPhone-Backup#4a-udev-exampleAutomating with cronKrummstiel can just run regularly with as a cronjob. Running it with your user ensures that you have access to the files backed up.*/5****your_user_idpath/to/krummstiel.py--config"path/to/config.ini">>/path/to/backup.logNameThe name of the program was chosen to be an Apple that is under threat. One would assume that apples are ubiquitous
and are in status "least concern", while this is true for many apples (especially for commercially used and still
distributed apples) there are many apple types that are endangered.TheRheinischer Krummstielis an old
apple variant which is on the "Red list of endagered domestic plants" of the German
"Federal Office for Agriculture and Food". It can roughly be translated
to "crooked stalk", which I found a good analogy for attaching the Apple device to an usb cable.There are more apples, that are under threat visit theIUCN Threatened Species listfor
a full list of all species.LicenseKrummstiel uses the MIT License.