دستور rsync ((گرفتن :پشتیبان backup ))
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور rsync برای بکاپ گیری در لینوکس استفاده میشه همچنین قابلیت synchronize دو فایل رو هم داره که این 2 فایل میتونن در یک کامپیوتر یا یکیشون در یک کامپیوتر رموت باشه
چند نکته خوب درمورد rsync
سرعت بالا : به دلیل این که اول 2 تا فایلو باهم مقایسه میکنه بعد فقط قسمت های تغییر کرده رو بروز یا تغییراتی درشون اءمال میکنه
امنیت : چون rsync از ssh برای برقراری ارتباط استفاده میکنه از امنیت بالایی برخورداره
مصرف پهنای باند کم : چون از فشرده سازی به صورت block by block استفاده میکند همیشه پهنای باند مصرفی از مقدار فایل تبادل شده کمتر است
در اخر هم پیشنیاز خاصی برای نصبش نیاز نیست
نصب :
برای نصب دستورات زیر رو بزنین
کد:
apt-get update
apt-get install rsync
شکل کلی دستور
کد:
$ rsync options source destination
Synchronize دو فلدر در یک کامپیوتر
کد:
$ rsync -zvr /var/opt/installation/inventory/ /root/temp
building file list ... done
sva.xml
svB.xml
.
sent 26385 bytes received 1098 bytes 54966.00 bytes/sec
total size is 44867 speedup is 1.63
$
-z بزای فشرده سازی
v- برای نشون دادن مراحل کار
r- indicates recursive
حالا اگه ls -l هردو فایلو بگیرین میبینین که پرمیشن ها ثابت مانده اند ولی زمان ساخته شدن فایلا تغییر کردن
کد:
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Sep 2 2009 /root/temp/sva.xml
برای این که زمان ساخته شدن فایلا تغییر نکند از a- استفاده کنین
کد:
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
building file list ... done
./
sva.xml
svB.xml
.
sent 26499 bytes received 1104 bytes 55206.00 bytes/sec
total size is 44867 speedup is 1.63
$
حالا اگه خروجی ls -l رو نگاه کنین میبینین که زمان ساخته شدن فایلها بعد از بکاپ گیری یکی هستش
کد:
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /root/temp/sva.xml
Synchronize فقط یک فایل که عمل کپی کردن یک فایل به فلدر دیگر رو انجام میده
کد:
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/
Pubkeys
sent 42 bytes received 12380 bytes 3549.14 bytes/sec
total size is 12288 speedup is 0.99
Synchronize کردن فایل از کامپیوتر local به کامپیوتر remote
local : کامپیوتری که شما الان باهاش کار میکنین ((کامپیوتر محلی))
remote : کامپیوتری که در دور دست هستش
کد:
$ rsync -avz /root/temp/ thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
Password:
building file list ... done
./
rpm/
rpm/Basenames
rpm/Conflictname
sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec
total size is 45305958 speedup is 2.87
برای انجام این کار احتیاج به username وIP address سیستم رموت و همچنین ادرس فایل در سیستم رموت که شکل کلی به این شکل میشه
کد:
username@machinename:path
path : ادرس دایرکتوری در سیستم رموت
که در دستور بالا به این شکل بود : thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
/root/temp/ : ادرس فایل های ارسالی از لوکال به سرور
Synchronize سیستم رموت به سیستم خانگی
کد:
alieblice@alieblice-desktop:~$ sudo rsync -avz root@172.16.49.128:/var/www/Videos /home/reza
[sudo] password for alieblice:
root@172.16.49.128's password:
receiving incremental file list
created directory /home/reza
Videos/
Videos/.htaccess
Videos/Oggy.001.avi
Videos/Oggy.002.avi
Videos/Oggy.003.avi
Videos/Oggy.004.avi
Videos/Oggy.005.avi
sent 129 bytes received 347205008 bytes 10063917.01 bytes/sec
total size is 350419831 speedup is 1.01
alieblice@alieblice-desktop:~$
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
.128:/var/www/Videos : ادرس سیستم رموت
/home/reza : ادرسی که میخایم فایلا از رموت تو کامپیوتر لوکال شخصی ذخیره شود
دیدن اطلاعاتی در مورد انتقال هر فایل
برای این کار از progress-- استفاده کنین
کد:
alieblice@alieblice-desktop:~$ sudo rsync --progress -avz root@172.16.49.128:/var/www/Videos /home/reza
root@172.16.49.128's password:
receiving incremental file list
Videos/
Videos/Oggy.001.avi
70811648 100% 17.25MB/s 0:00:03 (xfer#1, to-check=4/7)
Videos/Oggy.002.avi
70343454 100% 11.02MB/s 0:00:06 (xfer#2, to-check=3/7)
Videos/Oggy.003.avi
70598656 100% 13.04MB/s 0:00:05 (xfer#3, to-check=2/7)
Videos/Oggy.004.avi
69273600 100% 14.00MB/s 0:00:04 (xfer#4, to-check=1/7)
Videos/Oggy.005.avi
69392384 100% 12.04MB/s 0:00:05 (xfer#5, to-check=0/7)
sent 110 bytes received 350537798 bytes 12746833.02 bytes/sec
total size is 350419831 speedup is 1.00
alieblice@alieblice-desktop:~$
ممکنه وقتی که 2 فایلو باهم دارین synce میکنین یکسری فایل در فلدر ی که دارین بکاپ هارو توش ذخیره میکنین ((target )) وجود داشته باشه که در فلدر اصلی ((source)) که ازش بکاپ میگیرین نباشه حالا اگه بخاین که فایلای اضافی که در target بودنو پاک کنین از delet-- استفاده کنین
ls فولدر source
کد:
root@debian:/var/www/Videos# ls
Oggy.003.avi Oggy.004.avi Oggy.005.avi
ls فلدر target
کد:
alieblice@alieblice-desktop:~$ ls /home/reza/Videos
Oggy.001.avi Oggy.002.avi Oggy.003.avi Oggy.004.avi Oggy.005.avi
alieblice@alieblice-desktop:~$
کد:
alieblice@alieblice-desktop:~$ sudo rsync --progress --delete -avz root@172.16.49.128:/var/www/Videos /home/reza
root@172.16.49.128's password:
receiving incremental file list
deleting Videos/Oggy.002.avi
deleting Videos/Oggy.001.avi
Videos/
Videos/Oggy.005.avi
69392384 100% 16.48MB/s 0:00:04 (xfer#1, to-check=0/5)
sent 34 bytes received 69415891 bytes 9255456.67 bytes/sec
total size is 209264729 speedup is 3.01
alieblice@alieblice-desktop:~$
ممکنه فقط بخاین فایلایی که با کلمه خاصی شروع میشن رو بکاپ بگیرین
که برای این کار از include-- و exclude-- استفاده کنین
--include 'P*' : فایلایی که با P شروع میشن رو بکاپ بگیر
--exclude '*' : تمام فایلای دیگر رو در نظر نگیر
کد:
$ rsync -avz --include 'P*' --exclude '*' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Packages
Providename
Provideversion
Pubkeys
sent 129 bytes received 10286798 bytes 2285983.78 bytes/sec
total size is 32768000 speedup is 3.19
محدودیت حجمی
برای ایجاد محدودیت حجمی میتونین از
کد:
--min-size=SIZE :فقط فایلایی که حجمشون از مقدار در نظر گرفته شده بیشتر است رو انتقال بده
--min-size=SIZE : فقط فایلایی که حجمشون از مقدار در نظر گرفته شده کمتر است رو انتقال بده
دستور زیر فایلای زیر 100 کیلوبایت رو انتقال میده
M for megabytes and G for gigabytes K for kilobyte
کد:
$ rsync -avz --max-size='100K' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Conflictname
Group
Installtid
Name
Sha1header
Sigmd5
Triggername
sent 252 bytes received 123081 bytes 18974.31 bytes/sec
total size is 45305958 speedup is 367.35
rsync خیلی گسترده هستش و پایه اساس خیلی از نرم افزارای بکاپ گیری لینوکس و ویندوز هستش
برای دیدن کامل کارایی که rsync میتونه انجام بدهد به man یا helpش مراجعه کنین
نسخه گرافیکی مختلفی برای لینوکس و ویندوز داره که از ادرس زیر میتونین ببینین
کد:
http://en.wikipedia.org/wiki/Rsync
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چند مثال دیگه تو منبع هست که نگفتم
فشرده سازی در لینوکس (قسمت اول 1) -* دستور zip *-
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تقریبا اطمینان دارم که همه میدونن zip چی هستش پس خیلی توضیح نمیدم
zip یک فرمت فشرده سازی هستش که با اون مبشه یک یا چند فایل و یا دایرکتوری را zip فشرده کرد که باعش کم شدن حجم میشود
فایلی که با zip فشرده بشود در اخر اسم ان کلمه zip قرار میگیرد که نشانه فرمت اون هست
اطلاعات بیشتر که zip چی هست :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بزای فشرده کردن یک فایل که اسم اون مشخص هستش دستور به شکل زیر میشود
کد:
tia@alieblice-desktop:~/com$ zip 1.zip 1.jpeg
adding: 1.jpeg (deflated 0%
)
1-در بالا فایل 1.jpeg رو به فرمت zip دز میاریم و با اسم 1.zip ذخیره میکنیم (( اول اسمی که میخایم فایل ذخیره بشه و بعد ادرس فایل مورد نظر ))
2- در بالا در هر دایرکتوری که باشیم فایل فشرده در همون جا ذخیره میشه . اگه دوست داشتین میتونین ادرس بدین به هش
مثلا در زیر فایل رو در /home/tia ذخیره میکنیم
کد:
zip /home/tia/1.zip /var/www/1.jpeg
هم زمان میتونین چندین تا فایل هم بدین که دستور به این شکل میشه
کد:
zip archivefile1 doc1 doc2 doc3
اگه خاستین تمام فایل های داخل دایرکتوری فشرده بشن از * استفاده کنین
نکته : در بالا دایرکتوری های داخل دایرکتوری ها فشرده نمیشن برای این کار از r- استفاده کنین(( This copies the current directory, including all subdirectories into the archive file)).
کد:
zip error: Nothing to do! (/home/tia/1.zip)
tia@alieblice-desktop:~/com$ zip -r ggg.zip *
adding: 1.jpeg (deflated 0%)
adding: 1.zip (stored 0%)
adding: 2.flv (deflated 3%)
adding: limit-3 (deflated 76%)
adding: untitled folder/ (stored 0%)
adding: untitled folder/limit-3 (deflated 76%)
adding: untitled folder/untitled folder/ (stored 0%)
نکته : در بالا فایل هایی که اولشون با نقطه شروع میشه ((فایل های مخفی)) فشرده نمیشوند برای این که اون ها هم فشرده شوند دستور به این شکل میشه
کد:
zip archivefile1 .* *
سطح فشرده سازی
در zip ر 9 سطح فشرده سازی دارسم (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) داریم که 9 بالا ترین و صفر اصلا فشرده نمیکنه و به طور پیش فرض روی 6 هستش
کد:
zip -r -9 /home/tia/padmins3.zip *
گذاشتن رمز
گذاشتن رمز به 2 صورت انجام میشه یک با اپشن e- و دیگری با اپشن P- ((پی بزرگ )) که فرق این 2 تا اینه که در p- باید رمز رو در دستور بنویسین ولی با e- رمزو خودش میپرسه
کد:
tia@alieblice-desktop:~/com$ zip -r -9 -P @LiebL1C3 /home/tia/padmins3.zip 1.jpeg
updating: 1.jpeg (deflated 0%)
tia@alieblice-desktop:~/com$
tia@alieblice-desktop:~/com$ zip -r -9 -e /home/tia/padmins3.zip 1.jpeg Enter password:
Verify password:
updating: 1.jpeg (deflated 0%)
tia@alieblice-desktop:~/com$
اپدیت کردن فایل zip
اگه یک فایل دارین از یک دایرکتوری و به اون دایرکتوری چیزی اضافه شده و میخاین که اونا رو هم به اون فایل zip اضافه کنین از u- میتونین استفاده کنین که عمل اپدیت کردنو انجام میده ((فقط فایلایی که اضافه شدن رو به فایل zip اضافه میکنه و فایلی که کم شده باشه از فایل zip پاک نمیکنه))
کد:
tia@alieblice-desktop:~/com$ zip test.zip *
adding: 1.jpeg (deflated 0%)
adding: 1.zip (stored 0%)
adding: 2.flv (deflated 3%)
adding: ggg.zip (stored 0%)
adding: limit-3 (deflated 76%)
adding: untitled folder/ (stored 0%)
tia@alieblice-desktop:~/com$ zip -u test.zip *
adding: oo-presenting-kubuntu-fa.pdf (deflated 11%)
tia@alieblice-desktop:~/com$
unzip
برای از فشرده دراوردن فایل های zip از دستور unzip استفاده کنین
مثلا برای از فشرده دراوردن فایل letter
در این حالت فایل ها در همون دایرکتوری که هستین از فشره در میاد
اگه هم اسم فایل وجود داشته باشه از شما سوال میپرسه که چه کاری انجام بده
کد:
ali@172.16.15.133:~$ unzip -j syslog.save.zip
Archive: syslog.save.zip
replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: ^Cali@172.16.15.133:~$
ali@172.16.15.133:~$
ali@95-168-161-82:~$ unzip syslog.save.zip
Archive: syslog.save.zip
replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: syslog-01
extracting: syslog-01
ali@172.16.15.133
:~$
برای از فشرده دراوردن تمام فایل های zip داخل دایرکتوری از این دستور استفاده کنین
باز کردن فایل zip از حالت فشرده در محل دیگری :
برای این کار از d- استفاده کنین
کد:
PersianAdmins:~# unzip padmins.zip -d /padmins/
Archive: padmins.zip
[padmins.zip] ali/ password:
creating: /padmins/ali/
creating: /padmins/ali/navid/
extracting: /padmins/ali/navid/reza
extracting: /padmins/file1.txt
inflating: /padmins/file2.txt
PersianAdmins:~#
اطمینان از سالم بودن فایل zip
روش اول
کد:
ali@172.16.15.133:~$ unzip -tq syslog.save.zip
No errors detected in compressed data of syslog.save.zip
.
روش دوم
کد:
ali@172.16.15.133:~$ unzip -t test.zip
Archive: test.zip
testing: wtmp OK
testing: syslog.save OK
No errors detected in compressed data of test.zip.
از فشرده در اوردن یک فایل خاص از داخل فایل zip
کد:
ali@172.16.15.133:~$ zip test.zip wtmp syslog.save
adding: wtmp (deflated 96%)
adding: syslog.save (stored 0%)
ali@172.16.15.133:~$
ali@172.16.15.133:~$ unzip test.zip wtmp -d /home/ali/
Archive: test.zip
replace /home/ali/wtmp? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: wtmp-2
inflating: /home/ali/wtmp-2
بدست آوردن اطلاعاتی در مورد فایل ها و دایرکتوری های موجود در فایل zip :
کد:
ali@172.16.15.133:~$ unzip -v test.zip
Archive: test.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
427392 Defl:N 16218 96% 2011-03-27 12:23 8be4c72a wtmp
1 Stored 1 0% 2011-03-26 10:44 32d70693 syslog.save
-------- ------- --- -------
427393 16219 96% 2 files
منابع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور blkid (پیدا کردن اطلاعاتی در مورد درایو ها )
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور blkid بارای پیدا کردن اطلاعاتی در مورد درایو ها از جمله اسم , نوع فایل سیستم , UUID , و ... استفاده میشود
شکل کلی دستور
کد:
blkid [ -hlv ] [ [ -c cachefile ] -w writecachefile ] [ -o format ] [ -s tag ] [ -t NAME=value ] [ device ... ]
برای این که ببینین چه درایو هایی روی سیستمتون وجود داره دستورو به تنهایی بزنین
دستورو به همراه sudo بزنین "
کد:
root@172.16.49.20:/# blkid
/dev/sda1: UUID="eb51f2cf-636e-49a0-8ed5-31daee03f0f9" TYPE="ext3" LABEL="LILI"
/dev/sda5: UUID="ccc497b8-da19-4965-b96f-2c0d44332025" TYPE="swap
همون طور که در بالا میبینین 2 درایو وجود دارد که ادرساشون :
/dev/sda1
/dev/sda5
هستش که sd اولشون نشان دهنده این هست که از نوع هارد های sata هستن
LABEL="LILI" : اسم درایو رو میگه
TYPE="ext3" و TYPE="swap" نوع فرمت درایو رو میگه
اپشن o-
به وسیله ی این اپشن می تونین خروجی دستورو بر اساس فرمت های مختلف ببینین که به صورت پیش فرض full هستش
value, device, list, udev or full))
list
کد:
root@172.16.49.20:/# blkid -o list
device fs_type label mount point UUID
----------------------------------------------------------------------------------------------------------------
/dev/sda1 ext3 LILI / eb51f2cf-636e-49a0-8ed5-31daee03f0f9
/dev/sda5 swap <swap> ccc497b8-da19-4965-b96f-2c0d44332025
udev
کد:
root@172.16.49.20:/# blkid -o udev
ID_FS_UUID=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ID_FS_UUID_ENC=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ID_FS_TYPE=ext3
ID_FS_LABEL=LILI
ID_FS_LABEL_ENC=LILI
ID_FS_UUID=ccc497b8-da19-4965-b96f-2c0d44332025
ID_FS_UUID_ENC=ccc497b8-da19-4965-b96f-2c0d44332025
ID_FS_TYPE=swap
value
کد:
root@172.16.49.20:/# blkid -o value
eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ext3
LILI
ccc497b8-da19-4965-b96f-2c0d44332025
swap
به وسیله ی دستور blkid میتونین lable یا UUID یک درایو رو به device name تبدیل کنین
کد:
root@172.16.49.20:/# blkid -L LILI
/dev/sda1
root@172.16.49.20:/# blkid -U eb51f2cf-636e-49a0-8ed5-31daee03f0f9
/dev/sda1
root@172.16.49.20:/#
موضوعات مرتبط :
۵ روش برای شناسایی فایل سیستم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]