انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: ریکاوری اطلاعات به سادگی (testdisk)  (دفعات بازدید: 30610 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
ریکاوری اطلاعات به سادگی (testdisk)
« : 20 دی 1393، 08:43 ب‌ظ »
سلام.

خب فکر کنم هر ماه چند تا تاپیک مرتبط با این قضیه داشته باشیم. خودم قبلاً دو سه باری سر پارتیشن‌بندی به طور کلی یکی از درایوهام پاک شده و به لطف تست‌دیسک برگشته. چند وقت پیش فایلی رو اتفاقی shift+delete کردم و بعد از جست‌و‌جو رسیدم به اینجا. این اسکریپت کار رو راحت‌تر کرده و فکر می‌کنم هر کسی بعد از خوندن این مطلب بتونه به سادگی فایل‌های از دست رفته‌ش رو برگردونه. امیدوارم کمکی باشه به دوستان داغ‌دیده :D


TestDisk یک نرم‌افزار آزاد و قدرتمند برای بازیابی اطلاعات است. با استفاده از آن می‌توانید فایل‌هایی که مثلاً توسط فرمان rm -rf یا شیفت دیلیت کردن پاک شده‌اند یا کرش نرم‌افزاری آنها را از بین برده را از روی پارتیشن‌های FAT , exFAT , NTFS , ext2 , ext3 , ext4 بازیابی کنید.


اسکریپت زیر را داخل یک فایل متنی کپی کرده و آن را با نام دلخواه و پسوند sh. ذخیره کنید.
#!/bin/bash
#######################################################################################################
#######################################################################################################
#######################################################################################################
######                                                                                          #######
######                                                                                          #######
######                 This script will help you to recover the accidentally                    #######
######                     deleted data from crashed linux file systems                         #######
######                          Script created by (Srijan Kishore)                              #######
######                                                                                          #######
######                                                                                          #######
#######################################################################################################                                                                                       
#######################################################################################################
#######################################################################################################

# User Check

if [ "$USER" = 'root' ]
    then
        gdialog --title "User Check" --msgbox "User is root, you can execute the script successfully." 200 150       
        echo "User is root, you can execute the script successfully"
    else
        gdialog --title "User Check" --msgbox "User is not Root. Please run the script as root user." 200 150
        echo "User is not Root. Please run the script as root user."
        exit 1
fi

# Check your operating system

cat /etc/debian_version >> /dev/null
if [ "$?" = 0 ]
    then
        echo "You are using ubuntu/debian"
        gdialog --title "Your Operating System" --msgbox "You are using ubuntu/debian"
    else
        gdialog --title "Your Operating System" --msgbox "You are not using debian/ubuntu.You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download"

    echo "You are not using debian/ubuntu. You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download"
       
fi



# Installing Testdisk
testdisk /version >> /dev/null
if [ "$?" = 0 ]
then
    echo "Testdisk already installed"
else
    echo "Installing Testdisk"
    apt-get update
    apt-get upgrade   
        apt-get --force-yes -y install testdisk   
               
                    gdialog --title "Success" --msgbox "Testdisk installed successfully" 100 50
                 
 fi
   
# Set backup directory
mkdir -p /root/result/lostfiles





#Run the recovery program



photorec /d /root/result/lostfiles

# Filters files
 
user=`ps aux | grep gnome-session | grep -v grep | head -1 | cut -d " " -f1`
mkdir "/home/$user/recovered_output"

mkdir "/home/$user/recovered_output/Debians"
mkdir "/home/$user/recovered_output/rpms"
mkdir "/home/$user/recovered_output/conf_files"
mkdir "/home/$user/recovered_output/exe"
mkdir "/home/$user/recovered_output/binaries"
mkdir "/home/$user/recovered_output/Docs"
mkdir "/home/$user/recovered_output/Pdfs"
mkdir "/home/$user/recovered_output/Mbox"
mkdir "/home/$user/recovered_output/Images"
mkdir "/home/$user/recovered_output/Videos"
mkdir "/home/$user/recovered_output/Sound"
mkdir "/home/$user/recovered_output/ISO"
mkdir "/home/$user/recovered_output/Excel"
mkdir "/home/$user/recovered_output/Presentation"
mkdir "/home/$user/recovered_output/Web_Files"
mkdir "/home/$user/recovered_output/Archives"
mkdir "/home/$user/recovered_output/Others"

#Sorting the Recovered data


find /root/result/ -name "*.doc"    -type f  -exec mv {} "/home/$user/recovered_output/Docs/" \;
find /root/result/ -name "*.docx"   -type f  -exec mv {} "/home/$user/recovered_output/Docs/" \;
find /root/result/ -name "*.odt"    -type f  -exec mv {} "/home/$user/recovered_output/Docs/" \;
find /root/result/ -name "*.pdf"    -type f  -exec mv {} "/home/$user/recovered_output/Pdfs/" \;
find /root/result/ -name "*.mbox"   -type f  -exec mv {} "/home/$user/recovered_output/Mbox/"  \;
find /root/result/ -name "*.png"    -type f  -exec mv {} "/home/$user/recovered_output/Images/" \;
find /root/result/ -name "*.jpg"    -type f  -exec mv {} "/home/$user/recovered_output/Images/" \;
find /root/result/ -name "*.jpeg"   -type f  -exec mv {} "/home/$user/recovered_output/Images/" \;
find /root/result/ -name "*.gif"    -type f  -exec mv {} "/home/$user/recovered_output/Images/" \;
find /root/result/ -name "*.avi"    -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.mpeg"   -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.mp4"    -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.mkv"    -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.webm"   -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.wmv"    -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.flv"    -type f  -exec mv {} "/home/$user/recovered_output/Videos/" \;
find /root/result/ -name "*.mp3"    -type f  -exec mv {} "/home/$user/recovered_output/Sound/" \;
find /root/result/ -name "*.wav"    -type f  -exec mv {} "/home/$user/recovered_output/Sound/" \;
find /root/result/ -name "*.deb"    -type f  -exec mv {} "/home/$user/recovered_output/Debians/" \;
find /root/result/ -name "*.bin"    -type f  -exec mv {} "/home/$user/recovered_output/binaries/" \;
find /root/result/ -name "*.exe"    -type f  -exec mv {} "/home/$user/recovered_output/exe/" \;
find /root/result/ -name "*.rpm"    -type f  -exec mv {} "/home/$user/recovered_output/rpms/" \;
find /root/result/ -name "*.conf"    -type f  -exec mv {} "/home/$user/recovered_output/conf_files" \;
find /root/result/ -name "*.iso"    -type f  -exec mv {} "/home/$user/recovered_output/ISO/" \;
find /root/result/ -name "*.xls"    -type f  -exec mv {} "/home/$user/recovered_output/Excel/" \;
find /root/result/ -name "*.xlsx"   -type f  -exec mv {} "/home/$user/recovered_output/Excel/" \;
find /root/result/ -name "*.csv"    -type f  -exec mv {} "/home/$user/recovered_output/Excel/" \;
find /root/result/ -name "*.ods"    -type f  -exec mv {} "/home/$user/recovered_output/Excel/" \;
find /root/result/ -name "*.ppt"    -type f  -exec mv {} "/home/$user/recovered_output/Presentation/" \;
find /root/result/ -name "*.pptx"   -type f  -exec mv {} "/home/$user/recovered_output/Presentation/" \;
find /root/result/ -name "*.odp"    -type f  -exec mv {} "/home/$user/recovered_output/Presentation/" \;
find /root/result/ -name "*.html"   -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.htm"    -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.jsp"    -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.xml"    -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.css"    -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.js"     -type f  -exec mv {} "/home/$user/recovered_output/Web_Files/" \;
find /root/result/ -name "*.zip"    -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.tar"    -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.rar"    -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.gzip"   -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.tar.gz" -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.7z"     -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.bz"     -type f  -exec mv {} "/home/$user/recovered_output/Archives/" \;
find /root/result/ -name "*.bz2"    -type f  -exec mv {} "/home/$user/recovered_output/Archives" \;
find /root/result/ -name "*.*"      -type f  -exec mv {} "/home/$user/recovered_output/Others/" \;
chown -R $user "/home/$user/recovered_output"
zenity --display :0 --info --width=350 --height=100 --title "Recovery Successful" --text " Data has been recovered successfully in recovered_output folder in your home directory."
nautilus /home/$user/recovered_output &
exit 0


با فرض آنکه نام فایل را spript.sh انتخاب کرده باشید، با دستور زیر به آن مجوز اجرا دهید:
chmod +x script.sh
دسترسی ریشه بگیرید:
sudo -i
اسکریپت را اجرا کنید:
sh script.sh

تمامی هارد‌دیسک‌ها، فلش‌مموری‌ها و ... متصل به سیستم لیست می‌شوند. دیوایس مورد نظر را انتخاب کنید.


پارتیشن مورد نظر را نیز!


نوع فایل‌سیستم آن پارتیشن را انتخاب کنید.


برای ادامه، اینتر کنید.


پس از اتمام عملیات، تعداد فایل‌های ریکاور شده نمایش داده می‌شود.


از testdisk خارج شوید.



پیغام موفقیت‌آمیز بودن بازیابی نمایش داده می‌شود.


OK کنید. فایل‌های ریکاور شده، درون فولدری به نام recovered_output واقع در دایرکتوری خانگیتان منتطر شما است.



به همین سادگی.
موفق باشید.
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین masoudrko

  • Full Member
  • *
  • ارسال: 210
  • جنسیت : پسر
  • Knowing is not enough; we must apply.
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #1 : 20 دی 1393، 10:29 ب‌ظ »
سلام تشکر از راهنماییتون  ;) :Dمن آرچ لینوکس دارم و با su  به کاربر ریشه میرم یعنی sudo  ندارم این دستور برام کار نمیکنه
sudo -i

این خطا را میده  User is not Root. Please run the script as root user
در نامه ای به فرزند آینده ام خواهم نوشت در طول زندگی ات
اگر لااقل ده کتاب که بر خلاف عقیده ی توست نخواندی،
هرگز بر درستی عقایدِخودت پافشاری نکن...

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #2 : 20 دی 1393، 10:54 ب‌ظ »
سلام تشکر از راهنماییتون  ;) :Dمن آرچ لینوکس دارم و با su  به کاربر ریشه میرم یعنی sudo  ندارم این دستور برام کار نمیکنه
sudo -i

این خطا را میده  User is not Root. Please run the script as root user
فرقی نداره. هر جور دوست دارید روت بگیرید!
این آموزش برای اوبونتو نوشته شده.
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19715
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #3 : 21 دی 1393، 12:41 ق‌ظ »
آرمان جان ممنون. آواتار جدیدت کشته ما رو! :D
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین KraToS

  • Full Member
  • *
  • ارسال: 148
  • جنسیت : پسر
    • KraToS . Ir
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #4 : 21 دی 1393، 01:16 ق‌ظ »
ارور : sh: 0: Can't open script.sh رو کجای دلم بزارم ؟ ممنون از آموزش
Information is POWER. But like all POWER, There are those who want to keep it for themselves.
- Aaron Swartz
1986-2013

آفلاین بهروز رمضانی

  • High Hero Member
  • *
  • ارسال: 1111
  • جنسیت : پسر
  • Kakashi Hatake
    • ابونتو نیوز
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #5 : 21 دی 1393، 01:18 ق‌ظ »
ارور : sh: 0: Can't open script.sh رو کجای دلم بزارم ؟ ممنون از آموزش
شما اسکریپت را کجا ذخیره کردید ؟
در یادگیری و استفاده از خط فرمان کوشا باشید چرا که رستگاری شما در آن است.

آفلاین KraToS

  • Full Member
  • *
  • ارسال: 148
  • جنسیت : پسر
    • KraToS . Ir
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #6 : 21 دی 1393، 01:20 ق‌ظ »
ارور : sh: 0: Can't open script.sh رو کجای دلم بزارم ؟ ممنون از آموزش
شما اسکریپت را کجا ذخیره کردید ؟

اشتباه از من بود ٫‌ حواصم نبود رفته بودم یه فولدر دیگه (‌حواص درسته دیگه )‌‌؟ :دی
Information is POWER. But like all POWER, There are those who want to keep it for themselves.
- Aaron Swartz
1986-2013

آفلاین jackshepherd

  • High Hero Member
  • *
  • ارسال: 1522
  • جنسیت : پسر
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #7 : 21 دی 1393، 01:35 ق‌ظ »
عالی بود.
انسانیت نسبت به دیگر انسان ها

آفلاین sajjad93

  • Sr. Member
  • *
  • ارسال: 294
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #8 : 21 دی 1393، 01:38 ق‌ظ »
قسمت آخر اسکریپت فایل ها رو به صورت دسته بندی شده در میاره اینجاش جالبه!
(photorec خودش فایل ها رو به صورت بهم ریخته تو چندتا فولدر ریکاوری میکنه)

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19715
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #9 : 21 دی 1393، 06:18 ق‌ظ »
اشتباه از من بود ٫‌ حواصم نبود رفته بودم یه فولدر دیگه (‌حواص درسته دیگه )‌‌؟ :دی
حواس: جمع حِس
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #10 : 21 دی 1393، 09:43 ق‌ظ »
آرمان جان ممنون. آواتار جدیدت کشته ما رو! :D
مخلصم :D
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین masoudrko

  • Full Member
  • *
  • ارسال: 210
  • جنسیت : پسر
  • Knowing is not enough; we must apply.
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #11 : 21 دی 1393، 10:04 ق‌ظ »
سلام نه نشد تو حالت روت هم میزنم باز همین خطا را میده
User is not Root. Please run the script as root user.
در نامه ای به فرزند آینده ام خواهم نوشت در طول زندگی ات
اگر لااقل ده کتاب که بر خلاف عقیده ی توست نخواندی،
هرگز بر درستی عقایدِخودت پافشاری نکن...

آفلاین sajjad93

  • Sr. Member
  • *
  • ارسال: 294
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #12 : 21 دی 1393، 11:17 ق‌ظ »
سلام نه نشد تو حالت روت هم میزنم باز همین خطا را میده
User is not Root. Please run the script as root user.
این اسکریپت چندتا ایراد داره که بهتره شما مستقیما از photorec برای ریکاوری استفاده کنید.

۱. اگه فایل هایی که توی پارتیشن خود سیستم عامل رو بخواین ریکاوری کنین چون فایل های ریکاوری شده رو هم تو همون پارتیشن سیستم عامل ذخیره می کنه پس خیلی از فایل های حذف شده اصلا ریکاوری نمیشن!

۲.قسمت دوم چک میکنه ببینه سیستم عاملتون اوبونتو/دبیان هست یا نه اگه نباشه که کلا این اسکریپت کار نمیکنه.(البته میشه با حذف ۳-۴ قسمت اول کدها این مشکل رو حل کرد ولی به خاطر دلیل ۱ باز هم به درد نمی خوره)

تنها قسمت جالبش  کدهایی که برای دسته بندی نوشته هست که میشه به صورت مجزا استفاده کرد.

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #13 : 21 دی 1393، 11:40 ق‌ظ »
۱. اگه فایل هایی که توی پارتیشن خود سیستم عامل رو بخواین ریکاوری کنین چون فایل های ریکاوری شده رو هم تو همون پارتیشن سیستم عامل ذخیره می کنه پس خیلی از فایل های حذف شده اصلا ریکاوری نمیشن!
خب همون یک خط رو تغییر بدید هر چی می‌خواید بذارید به جاش.
photorec /d /root/result/lostfiles
۲.قسمت دوم چک میکنه ببینه سیستم عاملتون اوبونتو/دبیان هست یا نه اگه نباشه که کلا این اسکریپت کار نمیکنه.(البته میشه با حذف ۳-۴ قسمت اول کدها این مشکل رو حل کرد ولی به خاطر دلیل ۱ باز هم به درد نمی خوره)
اینجا فروم اوبونتو است!
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین sajjad93

  • Sr. Member
  • *
  • ارسال: 294
پاسخ : ریکاوری اطلاعات به سادگی (testdisk)
« پاسخ #14 : 21 دی 1393، 12:51 ب‌ظ »
۱. اگه فایل هایی که توی پارتیشن خود سیستم عامل رو بخواین ریکاوری کنین چون فایل های ریکاوری شده رو هم تو همون پارتیشن سیستم عامل ذخیره می کنه پس خیلی از فایل های حذف شده اصلا ریکاوری نمیشن!
خب همون یک خط رو تغییر بدید هر چی می‌خواید بذارید به جاش.
photorec /d /root/result/lostfiles
باید آدرس های جلوی دستور find هم عوض بشن.
اگه آدرس ثابت با دستور pwd عوض بشن بهتر میشه مثل خود photorec فایل های ریکاوری شده رو توی اون دایرکتوری که قرار داریم ذخیره می کنه، بعد اسکریپت فایل ها رو دسته بندی کنه.

۲.قسمت دوم چک میکنه ببینه سیستم عاملتون اوبونتو/دبیان هست یا نه اگه نباشه که کلا این اسکریپت کار نمیکنه.(البته میشه با حذف ۳-۴ قسمت اول کدها این مشکل رو حل کرد ولی به خاطر دلیل ۱ باز هم به درد نمی خوره)
اینجا فروم اوبونتو است!

این رو در پاسخ به masoudrko گفتم که گفتن از آرچ استفاده می کنن!