Skip to content

roemer2201/ddpar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ddpar

Attempting scripted parallel dd execution.

Usecases

local

uncrompressed

clone (check) backup (check) restore (check)
block dev ✔️ (🛑) ✔️ (✔️) ✔️ (✔️)
file ✔️ (🛑) ✔️ (✔️) ✔️ (✔️)

compressed

backup gzip (check) restore gzip (check)
block dev ✔️ (✔️) ✔️ (✔️)
file ✔️ (✔️) ✔️ (✔️)

remote - ssh

general remote funcionality (ssh)

state
establish_ssh_connection ✔️
execute_remote_command ✔️
close_ssh_connection ✔️
check_remote_command_availability 🛑
remote_port_generation ✔️
check_remote_port_availability ✔️
execute_remote_background_command ⚙️
remote_output_analysis ✔️
remote_cloning_commands 🛑
remote_backup_commands 🛑

remote - netcat

uncompressed

clone backup (check) restore (check)
block dev 🛑 (🛑) 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑) 🛑 (🛑)

local [de]compression

backup gzip (check) restore gzip (check)
block dev 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑)

remote [de]compression

backup gzip (check) restore gzip (check)
block dev 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑)

compressed transfer (compression+decompresion before and after transfer)

clone
block dev 🛑 (🛑)
file 🛑 (🛑)

uncompressed

clone backup (check) restore (check)
block dev 🛑 (🛑) 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑) 🛑 (🛑)

local [de]compression

backup gzip (check) restore gzip (check)
block dev 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑)

remote [de]compression

backup gzip (check) restore gzip (check)
block dev 🛑 (🛑) 🛑 (🛑)
file 🛑 (🛑) 🛑 (🛑)

compressed transfer (compression+decompresion before and after transfer)

clone
block dev 🛑 (🛑)
file 🛑 (🛑)

To Do

  • check read/write permissions for $SOURCE, $BACKUP_BASE and $DESTINATION
  • ddpar.sh:
    • Add option to give a backup a custom BASE_NAME
    • Add size check for local clone_file
  • ddpar-check.sh:
    • Add if-statement for checking if a backup as been created with a sha256sum
  • ddpar-restore.sh:
    • check on file restore, if output is a file. If directory given, append basename from metadata
    • fallocate is run multiple times? (maybe only on restoring compressed block dev images?)
    • make fallocate optional
  • use this BASE_NAME as path for checksum files for clones (where user request checksuming)
  • echo a message if no reasonable alternative number of threads/jobs could be calculated
  • when compressing an image and option -c (checksum) is given, should the script calculate the checksum of both, the raw file and the compressed file? (Currently only basefile's checksum is calculated.)
  • Code to make missing features work
  • Remoting:
    • Use differnt functions for remote actions like "output analysis" or implement in the existing functions?
    • Make remote input and local output work (not yet thought through)

About

Attempting scripted parallel dd execution.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages