Ehtiyat nüsxə yaratma rsync
və scp
istifadə edərək
1. Niyə ehtiyat nüsxə vacibdir?
Bu gün biz IT və proqramlaşdırma dünyasında hər kəs üçün ən vacib tapşırıqlardan biri olan məlumatların ehtiyat nüsxəsinin yaradılmasından danışacağıq. Əgər siz heç vaxt disk nasazlığı və ya bir səhv üzündən vacib məlumatları itirmisinizsə, bunun nə qədər kritik olduğunu başa düşürsünüz. Əgər itirməmisinizsə — biz buradayıq ki, bunun qarşısını alaq!
Təsəvvür edin: bir neçə ay layihə üzərində çalışmısınız və bir gün sizin sərt diskiniz tətillərə gedib. Bəli, bu, SQL sorğusunun sonunda nöqtəli vergül qoymağı unutmaq qədər bezdiricidir, amma min qat daha pis. Sistemlər etibarsız ola bilər, insanlar səhvlər edə bilər və fayllar itirilir. Ehtiyat nüsxə belə xoşagəlməz sürprizlərə əvvəlcədən hazırlaşmağa imkan verir.
Linux-da ehtiyat nüsxə yaratmaq üçün bir neçə güclü vasitə var. Bu gün biz onlardan ikisi ilə tanış olacağıq: rsync
və scp
.
2. rsync
komandası: məlumatların surətini çıxarmaq üçün sürətli və ağıllı alət
rsync
— məlumatların surətini çıxarmaq və sinxronlaşdırmaq üçün ən məşhur alətlərdən biridir. Onun əsas gücü sürətdə və effektivlikdədir. Hər şeyi təkrar kopiyalamaqdansa, rsync
yalnız dəyişdirilmiş faylları kopiyalayır. Bu onu böyük miqdarda məlumatların müntəzəm ehtiyat nüsxəsini çıxarmaq üçün ideal edir.
rsync
komandası üçün sintaksis
Komandanın əsas formatı belədir:
rsync [açarlar] mənbə təyinat
Harada:
mənbə
— kopiyalamaq istədiyiniz fayl və ya qovluğa yol.təyinat
— bu məlumatların çatdırılmalı olduğu yer.
Əsas açarlar və onların funksiyaları
Ən çox istifadə olunan açarlardan bir neçəsi:
-a
(archive): bütün metadata-nı (giriş hüquqları, zaman ştampları və s.) kopiyalayır.-v
(verbose): baş verənləri görmək üçün ətraflı çıxış daxil edir.--progress
: kopiyalama prosesinin vəziyyətini göstərir (böyük faylları kopiyalayarkən çox rahatdır).--delete
: mənbədən artıq olmayan faylları təyinat tərəfində silir. Tam sinxronizasiya üçün faydalıdır.-z
(compress): məlumatları ötürməzdən əvvəl sıxır, işi sürətləndirir (xüsusən şəbəkə əməliyyatlarında vacibdir).
Nümunə: lokal məlumatların kopiyalanması
Ehtiyat nüsxələri saxlamaq üçün /backup
qovluğu yaradaq.
mkdir /backup
/home
qovluğunun bütün məzmununu /backup
-a kopiyalayırıq:
rsync -av /home /backup
Bu nümunəni analiz edək:
-a
faylların strukturu və giriş hüquqlarını saxlayır.-v
prosesin gedişi barədə məlumat verir.
Əgər bu komandanı yenidən yerinə yetirsəniz, o yalnız dəyişdirilmiş və ya yeni faylları kopiyalayacaq.
Nümunə: uzaqdan ehtiyat nüsxə yaratmaq
İndi təsəvvür edək ki, ehtiyat nüsxəni uzaq serverə göndərmək istəyirsiniz. Bunun üçün rsync
SSH istifadə etməyi dəstəkləyir.
rsync -av /backup user@remote_server:/remote_backup
Harada:
user
— uzaq serverdəki istifadəçi adı.remote_server
— uzaq serverin ünvanı (məsələn, IP ünvanı və ya domen adı)./remote_backup
— serverdə məlumatları saxlamaq istədiyiniz yol.
Əgər SSH açarınız varsa, ötürmə daha asan (və təhlükəsiz) olacaq.
3. scp
komandası: sadə və effektiv
scp
(Secure Copy Protocol) — faylları lokal və uzaq maşınlar arasında köçürmək üçün vasitədir. Bu, rsync
-dən bir az daha sadədir və tam sinxronizasiya lazım olmadıqda uyğun olur.
scp
-nin sintaksisi
Komandanın əsas formatı belə görünür:
scp [opsiyalar] mənbə təyinat
Burada:
mənbə
— köçürmək istədiyiniz faylın yolu.təyinat
— onu hara çatdırmaq lazımdır.
Əsas açarlar və onların funksiyaları
Bəzi faydalı opsiyalar:
-r
: qovluqlar üçün rekursiv kopiyalama.-C
: göndərilməzdən əvvəl faylları sıxışdırır.-P
: SSH üçün standart portdan (22) fərqli bir port göstərir.
Misal: faylın uzaq maşına köçürülməsi
Lokal kompüterinizdən faylları serverə köçürmək istəyirsiniz. Tutaq ki, faylın adı document.txt
-dir.
scp document.txt user@remote_server:/remote_folder
Əgər fayl /home/user/documents
qovluğunda yerləşirsə, komanda belə görünəcək:
scp /home/user/documents/document.txt user@remote_server:/remote_folder
İndi fayl uzaq maşında /remote_folder
qovluğunda olacaq.
Misal: faylların serverdən lokal maşına köçürülməsi
Proses əks istiqamətdə də işləyir:
scp user@remote_server:/remote_folder/document.txt /home/user/documents
Bu halda, document.txt
faylı lokal qovluğunuzda olacaq.
4. rsync
və scp
arasındakı fərqlər
Hər iki komanda faylları kopyalamağa imkan verər, amma onların özünəməxsus xüsusiyyətləri var.
Xüsusiyyət | rsync | scp |
---|---|---|
Surət götürmə sürəti | Yalnız dəyişdirilmiş məlumatlar, böyük həcmlər üçün daha sürətli | Hər şeyi kopyalayır, hətta fayl dəyişdirilməyibsə də |
Sinxronizasiya | Tam sinxronizasiya dəstəyi | Sinxronizasiya dəstəkləmir |
Məlumat sıxılması | Var -z |
Var -C |
İstifadə rahatlığı | Konfiqurasiyası daha çətindir | Sadə interfeys |
Deməli, sizə yalnız tez bir fayl ötürmək lazımdırsa — scp
istifadə edin. Əgər mütəmadi sinxronizasiya və böyük həcmli məlumatlar barədə söhbət gedirsə — mütləq rsync
.
5. Real misal: ehtiyat nüsxə çıxarmaq üçün quruluş
Budur, praktiki bir tapşırıq: layihənizin tam ehtiyat nüsxəsini uzaq serverə qurmaq istəyirsiniz.
Fərz edək ki, layihə fayllarınız
/home/user/project
qovluğunda saxlanılır. Onlarınbackup.server.com
serverində/backups/project
qovluğunda ehtiyat nüsxəsi çıxarılmasını istəyirsiniz.Kopyalama prosesini sürətləndirmək üçün
rsync
istifadə edəcəyik.
Ehtiyat nüsxə çıxarma skriptinin quruluşu
backup.sh
faylını yaradın:
#!/bin/bash
SOURCE="/home/user/project"
DESTINATION="user@backup.server.com:/backups/project"
# rsync ilə ehtiyat nüsxə çıxarırıq
rsync -av --delete "$SOURCE" "$DESTINATION"
# Tamamlandığını bildiririk
echo "Ehtiyat nüsxə çıxarma tamamlandı!"
Faylı icra edilə bilən edin:
chmod +x backup.sh
İndi bu skripti əl ilə işə sala bilərsiniz:
./backup.sh
Və ya avtomatik icra etmək üçün onu cron
-a əlavə edə bilərsiniz (cron haqqında daha sonra kursda danışacağıq).
6. Tipik səhvlər və onların qarşısını almaq yolları
Komanda sətrində yanlış yollar. Əgər fayllara səhv yol göstərsəniz,
rsync
və yascp
heç nə köçürməyəcək. Yolların düzgün olduğuna əmin olmaq üçünls
və yapwd
komandalarından istifadə edin.Avtorizasiya açarının olmaması. SSH istifadə edərkən açar qurulmadıqda, hər dəfə parol soruşulacaq. Prosesi sadələşdirmək üçün SSH-açarları qurun.
Ehtiyat nüsxələmənin kəsilməsi. Əgər şəbəkə qeyri-sabitdirsə,
rsync
növbəti işə salmada ötürməni davam etdirəcək. Ammascp
yenidən başlamaq məcburiyyətində qalacaq.
rsync
və scp
vasitəsilə həm lokal kompüterdə, həm də uzaq serverlərdə məlumatlarınızı inamla köçürə və sinxronizasiya edə bilərsiniz. Bu alətlər vacib fayllarınızı qorumaq mövzusunda sizin etibarlı köməkçilərinizdir.
GO TO FULL VERSION