Like most, most files (project files, photos, videos, etc.) are everything at the cloud back in case. But I treat my photos and videos a little differently. Yes, I have daily backups, but I treat my monthly back -ups a little differently.
About 20 years ago I lost all Digital photos and videos that I had taken since digital cameras and mobile phones with cameras became mainstream. It is short that I had supported all that data on two external hard drives. One was always connected to my machine, the other was periodically synchronized, because redundancy is important, right?
But fires do not care about redundancy.
Since then it would be an understatement to say that I am extremely specific with my backup process, especially because it relates to photos and videos. And even more because we had children.
Anyway, the core of my process for backing -making photos and videos of Apple photos follows roughly this process:
- Export all images and videos of the past month
- Convert everything
HEICto loss -freeJPEG - Different
HEIC”JPEGvideo, screenshots, ai -generated images, etc. in individual folders - Name the files based on the date in the
EXIFData (or the nearest approach to creating or changing files) - RSYNC this with a local, external drive and a cloudbackup service.
The most time -consuming part of the process are steps two to four. The rest is ideal for automation through local scripts and programs.
So to make the process a little easier, I have a monthly back -up help program I use help to take care of the entire export. And maybe it is also something useful for others.
Back -up and sort photos, videos, media and AI content
As the repository states:
A utility for easy back up to photos, videos and screenshots of the Apple Photos Library.
When you export unaltered photos from your Apple photo library, place them in a export Directory in the cause of the project. Then, after setting up the virtual Python environment and installing the dependencies, run python -m src.main And you have organized all files in subfolders:
photos/– Actual photos with the right exif-time stampsvideos/–MOV”MP4and other video filesscreenshots/– iOS and MacOS – Screenshots automatically detectedgenerated/-Ai-generated images and heavily processed contentunknown/– everything that does not fit in the other categories
They are also renamed based on the exif or metadata time stamps for the convenience of organization. The format is simple: YYYY.MM.DD.HH.MM.SSWhich makes chronological sorting trivial.
And if you are curious to see how your content is processed, you can perform python -m src.main --dry-run To see what will be processed and how it will be organized. In this way you know whether this is the right program for you or not – before you make changes to your files.
Installation
Three steps: clone the repository, make the virtual environment, install the dependencies.
Or, in other words ::
# Clone the repository
git clone https://github.com/tommcfarlin/tm-monthly-backup.git
cd tm-monthly-backup
# Create the virtual environment.
python3 -m venv tm-backup-env
source tm-backup-env/bin/activate
# Install the dependencies.
pip install -r requirements.txtThen you can perform the program. I usually use it once a month, as stated, after exporting the photos and videos of that month of iCloud, but you can perform it as often or rarely as you want.

More technical details
The rest of this article deals with how the program actually works, how to use it and how you can force it, report bugs or add functions.
Sorting types of files
The program does more than just move files. It actually looks at the content and makes intelligent decisions about how to deal with it.
Depict
For HEIC files, it converts them to high quality JPEG while keep all EXIF data. Apple’s Sidecar files (those.aae Files that come for the, AhemRIT) Is automatically cleaned up because they are not necessary when the conversion is complete.
Videos
Video -time stamps are extracted from the actual video metadata, not only on the date of making file. This is important because if the file has been copied or moved, the date of the file system may be wrong, but the enclosed metadata in the video file itself is usually accurate.
You have a content
The AI content detection is particularly useful (and something that I did not really need until recently, for obvious reasons). Images of chatgpt or other AI tools are automatically separated into the generated folder. Heights C2PA metadataFile names in Uuid style and other signals that something was generated instead of recorded with a camera.
Screenshot -detection works by recognizing iOS and macOS patterns. Those IMG_3XXX.PNG Files or something with “screenshot” in the name is sorted in the right way.
When there are double time stamps, which mainly happens when the Burst mode is used, the tool increases the seconds to keep everything unique. And if a file is missing EXIF Data in full, it falls back on time system stamps and will generate a comment in the output.
Usage
Assuming you have already installed the program, here are a few comments about how to use it.
The utility expects your exported files in a export/ Directory and will be one backup/ Directory with all your organized content. If you want to see what it will do before you commit it, that dry flag is your friend.
For debugging or if you are just curious about what is happening under the hood, there is an extensive mode: python -m src.main --verbose. It will show you all processing details, which is useful if something does not work properly or if you want to understand how a certain file is categorized.
The whole thing is built with the right CLI conventions, so python -m src.main --help Will give you all the options if you need a reference.
Mandatory contribution
If you regularly take Apple photos and related media backups and find the manual organization annoying Girub.
The code is mit license, so you can use it, change or ignore parts that you do not need. And if you find problems or have suggestions, pull requests are always welcome.
#sort #photos #videos #content #Tom #McFarlin


