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:
-afaylların strukturu və giriş hüquqlarını saxlayır.-vprosesin 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/projectqovluğunda saxlanılır. Onlarınbackup.server.comserverində/backups/projectqovluğunda ehtiyat nüsxəsi çıxarılmasını istəyirsiniz.Kopyalama prosesini sürətləndirmək üçün
rsyncistifadə 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,
rsyncvə yascpheç nə köçürməyəcək. Yolların düzgün olduğuna əmin olmaq üçünlsvə yapwdkomandaları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ə,
rsyncnövbəti işə salmada ötürməni davam etdirəcək. Ammascpyenidə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