How do I exclude sub directories from ZIP CLI?
I'm trying to create backup/archive my Ubuntu 10.04 system files (so I can restore it in case my system get corrupted). More specifically, I'm trying to zip the important files in my root directory not including my home directory (which includes my documents which I backup separately/more frequently) to an external hard drive attached via USB (called 'My Book').
Since File Roller didn't give me quite the level of control I was looking for, I created a script that I could execute to backup and archive regularly. Here's a snippet: cd /media/"My Book"/"Linux Backups" NOW=$(date +"%b-%d-%y") LOGFILE=Backup_DellLatitudeD620_Ubuntu_FileSystem-$NOW.log sudo zip -r -T -v Backup_Root_FileSystem-$NOW / -x /media/'My Book'\* /media\* /proc\* /sys\* /mnt\* /dev\* /cdrom\* /home\* /'lost+found'\* | tee -a $LOGFILE echo "Checking validity/accuracy of zip file" | tee -a $LOGFILE unzip -tq Backup_DellLatitudeD620_Ubuntu_FileSystem-$NOW.zip | tee -a $LOGFILE When I execute this, only the log file is created and no zip file is created. The terminal window shows that it starts to add files, but from the excluded directories, starting with "My Book". Here is the output from the terminal window: zip warning: name not matched: /media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/.ecryptfs/amit/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWaYzpV4BZNwE-Qh48zmJMclYKU5FCiPjGrmOaTTyDAaI9Fntyc9NqKorE--/ECRYPTFS_FNEK_ENCRYPTED.FWaYzpV4BZNwE-Qh48zmJMclYKU5FCiPjGrmyhIsd61dTNeTv55Pf0BKdU--/ECRYPTFS_FNEK_ENCRYPTED.FXaYzpV4BZNwE-Qh48zmJMclYKU5FCiPjGrmzvWat6NI8.-y6RjyyN2B4oY-BjxoZQEpY3FjgechqqM- .. zip warning: name not matched: /media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/amit/.wine/dosdevices/z:/media/My Book/.Trash-1000/files/Backup 2/home/.ecryptfs/amit/.Private/ECRYPTFS_FNEK_ENCRYPTED.FWaYzpV4BZNwE-Qh48zmJMclYKU5FCiPjGrmvAsAMnV1l-zVIrsM5pdJc---/ECRYPTFS_FNEK_ENCRYPTED.FYaYzpV4BZNwE-Qh48zmJMclYKU5FCiPjGrmS3RWzEDzFaf5QQQCBcFq8QigXiN.bw05hgK1C5JmGZrChgJVSOOVIACsXA9j5cx7 .. zip error: Out of memory (local_to_display_string) Can someone tell me what I am doing wrong? Why can't I seem to create a zip file that excludes all files/directories from external drives including /media/*? If I read correctly, isn't the following the correct zip command syntax? If so, why does my output indicate directories from the excluded path being added (/media/My Book/.Trash-1000/*)? zip -r FILENAME DIRECTORY_TO_ZIP -x PATH_TO_EXLUDE\*For reference sake, here is what's in my root directory: $ ls / bin dev initrd.img lost+found opt sbin sys var boot etc initrd.img.old media proc selinux tmp vmlinuz cdrom home lib mnt root srv usr vmlinuz.old Btw, I'm a newbie to Linux, so if this is basic, please excuse me. |
As far as I can see, -x works on files not directories.
I would have thought it would be easier to have multiple zip commands that each add a required directory to a single zip file. Also, instead of quoting part of a path, quote the whole path. cd /media/"My Book"/"Linux Backups" Code:
cd "/media/My Book/Linux Backups" |
All times are GMT -5. The time now is 08:20 AM. |