Backup a usb key to another usb key with the same space disk
Project description
backupmystemusb2usb is a GPLv3-liscensed Python package for copy usb key.
Its runs on Python 3.7 and has a dependency for yaml, and another one for the gui.
Installation without the source
To install backupmystemusb2usb package run the following command:
sudo apt-get install libyaml-dev python3-gi
sudo -H pip3 install backupmystemusb2usb
You have to create a config.yml file
UUID_1_Master: 790d1fbb-96ed-46c3-868d-08e05e223fa7
UUID_1_Slave: 790d1fbb-96ed-46c3-868d-08e05e223fa7
Temp_img: /home/stephane/Temp/Linux.img
Temp_log: /home/stephane/Temp/BackupMySystem-Temp.log
Kill_dd: True
UUID list
sudo blkid
Find your device and for change the label. If the device master UUID is the same as the slave UUID (if you cancel in copy img to slave), you have to put a date upper on master than slave
Warning UUID is not Label !
sudo e2label /dev/sd_1 "19991231235959"
For the deamon, write a run.py for running by user root with chmod 700
#!/usr/bin/env python3
import sys
import yaml
from backupmystemusb2usb.usb2usb import usb2usb
try:
u2u = usb2usb(sys.argv[1])
u2u.backup()
except yaml.YAMLError:
exit()
You can create a service systemd if you planed to backup your usb key evry day in the morning. You can wakeonlan from a raspberrypi or other technique
wakeonlan MACADRESS
crontab -e
# write your cron
sudo service cron reload
Now for create a daemon in startup (without console)
cd /etc/systemd/system
vi backupmysytemusb2usb.service
Write
[Unit]
After=ssh.service
[Service]
WorkingDirectory=/your/working/path/
ExecStart=/usr/bin/sh -c "/your/working/path/run.py /your/working/path/config.yml"
[Install]
WantedBy=default.target
Enable and start
sudo systemctl daemon-reload
sudo systemctl enabled backupmysytemusb2usb
Then the service start on reboot. If you will test now the service :
sudo systemctl start backupmysytemusb2usb
Check the log (no detail just the command like dd)
sudo journalctl --unit backupmysystemusb2usb -n 20
You can go to check your ouput log file configured by config.yml
Now we have to create the shell return for no-root user
WORK IN PROGRESS FOR THE X11 GTK INTERFACE...
You can have the display of progress with run_user.py and run_user.sh in my github (modifiy the path for config.yml)
You can create a Gnome desktop startup
cd ~/.config/autostart
touch backupmysytemusb2usb.desktop
chmod 744
vi backupmysytemusb2usb.desktop
And in your editor enter
[Desktop Entry]
Name=Backup my system usb to usb
Comment=Copy disk with the same space
Exec=/your/working/path/run_user.sh
Icon=org.gnome.Terminal
Path=/your/working/path/
Terminal=true
Hidden=false
Type=Application
Categories=Utility;Application;
Installation from source
To install the latest developpement version run the following command:
git clone https://github.com/stephaneworkspace/backupmystemusb2usb
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file backupmysystemusb2usb-0.0.16.tar.gz
.
File metadata
- Download URL: backupmysystemusb2usb-0.0.16.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a8975bc875bba66ce991b17999b6adea1c18ebd29361a12275bb9923ddc298b |
|
MD5 | 8c40e705ae723bd263e37877d69ac11f |
|
BLAKE2b-256 | 15420dd64e45373c1e47b003fd6797f9d94fe9029b0c0ce4b972d6280fc9c4b5 |