@@ -19,13 +19,20 @@ A powerful and flexible backup solution for MikroTik RouterOS devices. This tool
1919 - Configurable retention periods
2020 - Compose-style visualization
2121 - Detailed logging
22+ - Tmpfs-based backup storage to reduce flash wear
2223
2324- ** Security Features**
2425 - SSH key-based authentication
2526 - Encrypted backups
2627 - Configurable SSH parameters
2728 - Host key verification
2829
30+ - ** Storage Optimization**
31+ - Tmpfs-based temporary storage
32+ - Automatic tmpfs size calculation
33+ - Configurable fallback behavior
34+ - Flash wear reduction
35+
2936- ** Monitoring & Notifications**
3037 - Email notifications for backup status
3138 - Detailed logging with multiple levels
@@ -39,6 +46,7 @@ A powerful and flexible backup solution for MikroTik RouterOS devices. This tool
3946- [ ` doc/FILESYSTEM_STRUCTURE.md ` ] ( doc/FILESYSTEM_STRUCTURE.md ) - Overview of the project's directory structure and organization
4047- [ ` doc/BACKUP_STRUCTURE.md ` ] ( doc/BACKUP_STRUCTURE.md ) - Details about backup file formats, naming conventions, and information files
4148- [ ` doc/DESIGN_REFERENCE.md ` ] ( doc/DESIGN_REFERENCE.md ) - Technical documentation about application architecture and development
49+ - [ ` doc/TMPFS_FEATURES.md ` ] ( doc/TMPFS_FEATURES.md ) - Documentation for tmpfs features
4250
4351## Prerequisites
4452
@@ -71,31 +79,6 @@ A powerful and flexible backup solution for MikroTik RouterOS devices. This tool
7179 cp config/targets.yaml.sample config/targets.yaml
7280 ```
7381
74- 5 . Set up SSH keys (choose one option):
75-
76- a. Create symbolic links to existing keys:
77- ``` bash
78- mkdir -p ssh-keys/{public,private}
79- ln -s ~ /.ssh/id_rsa ssh-keys/private/id_rosbackup
80- ln -s ~ /.ssh/id_rsa.pub ssh-keys/public/id_rosbackup.pub
81- ```
82-
83- b. Generate new key pair:
84- ``` bash
85- mkdir -p ssh-keys/{public,private}
86- ssh-keygen -t rsa -b 4096 -f ssh-keys/private/id_rosbackup -C " rosbackup"
87- ```
88-
89- 6 . Configure RouterOS devices for backup:
90-
91- Use ` bootstrap_router.py ` to bootstrap targets:
92- ``` bash
93- # Basic usage - will prompt for SSH password
94- python3 bootstrap_router.py --host 192.168.88.1 --backup-user-public-key ssh-keys/public/id_rosbackup.pub
95- ```
96-
97- See [ BOOTSTRAP.md] ( BOOTSTRAP.md ) for detailed usage instructions.
98-
9982## Configuration
10083
10184### Global Configuration (global.yaml)
@@ -127,6 +110,11 @@ ssh:
127110 auth_timeout : 10 # SSH auth timeout (optional, default: 5)
128111 # keepalive_interval: 60 # Keepalive interval (optional, default: 60)
129112 # keepalive_countmax: 3 # Max failed keepalives (optional, default: 3)
113+
114+ # Temporary Storage Settings
115+ use_tmpfs : true # Use tmpfs for temporary storage (default: true)
116+ tmpfs_fallback : true # Fall back to EEPROM if tmpfs fails (default: true)
117+ tmpfs_size : 50M # Size of tmpfs in MB (optional, auto-calculated if not set)
130118` ` `
131119
132120### Target Configuration (targets.yaml)
@@ -164,6 +152,9 @@ targets:
164152 enable_plaintext_backup : true
165153 keep_binary_backup : true # Keep binary backup on router
166154 keep_plaintext_backup : true # Keep plaintext backup on router
155+ use_tmpfs : true
156+ tmpfs_fallback : true
157+ tmpfs_size : 25M # Override global tmpfs size
167158` ` `
168159
169160#### Multiple Targets with Different Requirements
0 commit comments