This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
kb:procedures:file_organization [2025/04/30] – robertkuyper | kb:procedures:file_organization [2025/05/05] (current) – robertkuyper | ||
---|---|---|---|
Line 3: | Line 3: | ||
===== About ===== | ===== About ===== | ||
- | I use a homogenized file structure across all of my devices and use symbolic links or scripts to move files that the operating system or programs want in specific places. This allows me to always find files quickly without relying on a search tool. This also makes it very easy to backup and restore all of my data. Images of pre-configured systems automatically begin syncing with the main server when they are re-installed from a backup. The master version of this structure is stored on the server and are synced to the devices they are needed on with syncthing or rsync depending on system. This entire common folder is backed up by having a full copy saved to a hard drive once per week, with this drive being rotated and stored off-site. The entire file system is also mirrored to a second server capable of supporting the same syncing in case the first server goes offline. | + | I use a homogenized file structure across all of my devices and use symbolic links or scripts to move files that the operating system or programs want in specific places. This allows me to always find files quickly without relying on a search tool. This also makes it very easy to backup and restore all of my data. Images of pre-configured systems automatically begin syncing with the main server when they are re-installed from a backup. The master version of this structure is stored on the server and are synced to the devices they are needed on with syncthing or rsync depending on system. New systems can be provisioned by simply installing an OS and syncing the appropriate folder. This entire common folder is backed up by having a full copy saved to a hard drive once per week, with this drive being rotated and stored off-site. The entire file system is also mirrored to a second server capable of supporting the same syncing in case the first server goes offline. |
==== Top Level ==== | ==== Top Level ==== | ||
Line 27: | Line 27: | ||
=== dot === | === dot === | ||
- | Dot files are organized into folders based on the system they are applicable to. | + | Dot files are organized into folders based on the system they are applicable to. On linux, dot files are deployed using shell scripts. On windows, configuration files are deployed by batch files. |
=== download === | === download === | ||
Line 35: | Line 35: | ||
=== git === | === git === | ||
- | The git folder is the root for all projects. Every project I do, whether code or not, is revisioned with git. Even this wiki is stored as a folder in the git directory. The git folder is subdivided into folders | + | The git folder is the root for all projects. Every project I do, whether code or not, is revisioned with git. Even this wiki is stored as a folder in the git directory. The git folder is subdivided into folders |
=== media === | === media === | ||
Line 53: | Line 53: | ||
| video | shows | | | video | shows | | ||
+ | === tools === | ||
+ | |||
+ | Tools are organized into folders based on the system they run on. When at all possible I use portable versions of apps. This makes it easier to keep multiple versions of various software. It also ensures that if a vendor removes some functionality or makes bad updates I have access to a working version of their software. |