lost+found Restoration1) After fsck -Cy /dev/sdaX 2) Mount the problem partition, then all problem file/folder will be fixed like as #12345678 and stored in "lost+found" 3) Use combination command for the restoration: ## Find ALL files/directory/both recursively, But it consumed many many hours!!! find /mnt/oldserver/lost+found -exec file {} \; > find-lostfound-all.txt & find /mnt/oldserver/lost+found -type f -exec file {} \; > find-lostfound-file.txt & find /mnt/oldserver/lost+found -type d -exec file {} \; > find-lostfound-dir.txt & ## find all #xxxxxx files in "lost+found" only find /mnt/oldserver/lost+found -maxdepth 1 -type f -exec file {} \; |less ## find all #xxxxxx directory in "lost+found" only find /mnt/oldserver/lost+found -maxdepth 1 -type d -exec file {} \; |less ## find all "INBOX" directory recursively (Exclude original INBOX folder is converted into #xxxxxx) find /mnt/oldserver/lost+found -type d -exec file {} \; |grep "INBOX: directory" > /root/find-lostfind-INBOX.txt & ## find all #xxxxxx files in "lost+found" only which its context contain the keyword find /opt/kerio/mailserver/ -maxdepth 1 -type f -exec grep -i -H 'MailboxLocation' {} \; |less ## find all #xxxxxx folders within 180 days in "lost+found" only find /mnt/oldserver/lost+found -maxdepth 1 -type f -mtime -180 -exec file {} \; |less ## find all #xxxxxx "text" files within 180 days in "lost+found" only , then make it as the list find /mnt/oldserver/lost+found -maxdepth 1 -type f -mtime -180 -exec file {} \; |grep text > /root/separate-noClarify-email-180.txt & for i in `cat separate-noClarify-email-180.txt`; do mailpath=`echo $i | cut -d ':' -f1`; echo $mailpath; done |grep mnt > separate-noClarify-email-180-final.txt & ## make the sh to separate according above generated list: #!/bin/bash for i in `cat /root/separate-noClarify-email-180-final.txt`; do echo mv $i /mnt/oldserver/recovery_email # mv $i /mnt/oldserver/recovery_email done ## Change all recovery email from #xxxxxx to #xxxxxx.eml (For kerio) cd /mnt/oldserver/recovery_email find . -exec mv {} {}.eml \; & ## After separate All #xxxxxx file as "text" into other folder, you can make the list for those mapping with email address: grep -irn -m1 "for "/mnt/oldserver/recovery_email |grep "@" > /root/recovery_email_list.txt & Server is hosted by Alanstudio Linux Operating System Recommend screen resolution 1024 x 768 / IE / FireFox Alan Studio © 2007 by Alan Cheung Hin Lun. All rights reserved. |