Restore Selected Files From Secondary Backup Hard Disk

Posted on in Categories , , , last updated March 26, 2008

Q. I’ve backup created using rsync command stored at /disk2/home/tom/ directory. Accidentally, I had deleted files from /home/tom directory. I’d like to restore all file names starting with alpha numeric characters from /disk2/home/tom/ to /home/tom. How do I restore selected files in a batch mode?

A. You can simply use old good find command to copy all files in a batch mode:
$ cd $HOME
$ find /disk2/home/tom/ -maxdepth 1 -type f -iname '[a-z|0-9]*' -exec /bin/cp -v {} . \;

Where,

  • /disk2/home/tom/ : Source directory
  • -maxdepth 1 : Descend at most levels of directories below the command line arguments i.e. only copy files from /disk2/home/tom/ directory
  • -type f : Only files no directories
  • -iname ‘[a-z|0-9]*’ : Case insensitive file copy pattern
  • -exec /bin/cp -v {} . \; : Execute cp command to copy each file to your $HOME directory

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment