====== Ubuntu - Disk - Ramdisk - Persisting Ramdisk Data ====== A Ramdisk is a temporary storage device. When the computer is shutdown all the data within the Ramdisk is erased. To ensure this data is retained, the approach taken here is: * Save Ramdisk data to hard drive on system shutdown. * Load data from hard drive to Ramdisk on system boot. **NOTE:** The syncing from the Ramdisk to the hard disk and vice-versa will be slow, but at least the data will be stored permanently. * In essence, the Ramdisk acts here as a cache. ---- ===== Create backup directory ===== Create a directory where the Ramdisk data will be saved on system shutdown: sudo mkdir /mnt/ramdisk_backup ---- ===== Create a system service file ===== vi /lib/systemd/system/ramdisk-sync.service and populate with: [Unit] Before=umount.target [Service] Type=oneshot User=root ExecStartPre=/bin/chown -Rf peter /mnt/ramdisk/ ExecStart=/usr/bin/rsync -ar /mnt/ramdisk_backup/ /mnt/ramdisk/ ExecStop=/usr/bin/rsync -ar /mnt/ramdisk/ /mnt/ramdisk_backup/ ExecStopPost=/bin/chown -Rf peter /mnt/ramdisk_backup RemainAfterExit=yes [Install] WantedBy=multi-user.target **NOTE:** The directory where the Ramdisk is mounted and where the backup data will be saved must have the same file permissions. ---- ===== Enable the ramdisk-sync service ===== sudo systemctl enable ramdisk-sync.service **NOTE:** The ramdisk-sync service will start automatically on system boot. ---- ===== Reboot ===== sudo reboot ---- ===== Check whether the ramdisk-sync service is running ===== sudo systemctl status ramdisk-sync ---- ===== Check the contents of the /mnt/ramdisk and /mnt/ramdisk_backup directories ===== ls /mnt/ramdisk{,_backup} **NOTE:** Both should be empty. ---- ===== Test ===== Copy some files to the Ramdisk /mnt/ramdisk. Reboot again. Check again the contents of both the /mnt/ramdisk and /mnt/ramdisk_backup directories. * They should be the same! ----