Verilerinizi kaybetme konusunda endişelendiniz mi veya günlük veya haftalık manuel yedekleme yapmaktan bıktınız mı? Kullan rsync Manuel müdahale olmadan yerel dosyalarınızı istediğiniz sıklıkta komut verin ve otomatik olarak uzak bir sunucuyla eşitleyin. Lütfen bu kılavuzun uzak bir Linux sunucusuna erişim gerektirdiğini unutmayın (örn. AWS) ve Ubuntu 20.04 altında yazılmıştır, ancak herhangi bir Linux dağıtımının iyi çalışması gerekir.

rsync'i yükleyin

Her şeyden önce, olup olmadığını kontrol edin rsync kurulur. Hem yerel PC'nizde hem de web sunucunuzda thi komutunu çalıştırın:

rsync --version

Karşılığında mevcut rsync sürümünü alırsanız, bir sonraki bölüme hazırsınız demektir. Aksi takdirde, bir komut bulunamadı hatası yükleyebilirsiniz rsync bu komutla:

sudo apt-get -y rsync'i kurun

SSH Anahtarı Oluştur

kullanacağız SSH anahtarı yerel bilgisayarımız ile uzak sunucu arasındaki bağlantıyı doğrulamak için. Yerel PC'nizde terminal içinde yeni bir SSH anahtarı oluşturmak için şu komutu çalıştırın:

instagram viewer
Linux'ta SSH Nasıl Kurulur ve Kurulumunuzu Test Edersiniz: Başlangıç ​​Kılavuzu

Linux bilgisayarınıza veya sunucunuza uzaktan erişmeniz mi gerekiyor? Linux, Windows ve mobil cihazlarda SSH'yi nasıl kuracağınız ve yapılandıracağınız aşağıda açıklanmıştır.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Parola sorulduğunda, boş bırakın ve Enter tuşuna iki kez basın. Bu, dosyanızda iki yeni dosya oluşturacaktır. ~/.ssh/ adlı dizin rsync.key özel anahtar hangisi ve rsync.key.pub, genel anahtar.

Uzak Sunucuyu Kur

Gerekli olmasa da, bu kılavuz için bir yeni kullanıcı rsync bağlantıları için uzak sunucuda ve tüm yedekleme dosyalarını depolamak için. Uzak sunucuya SSH üzerinden giriş yapın ve şu komutu çalıştırın:

sudo useradd -m rsync

Yukarıdaki örnek kullanıcı adını kullanır rsync, ancak istediğiniz herhangi bir şeyle değiştirebilirsiniz. NS -m seçeneği Linux'a yeni kullanıcımız için bir giriş dizini oluşturmasını söyler.

Yerel PC'nizin kimlik doğrulaması yapmasına izin vermek için, önceki bölümde oluşturulan genel SSH anahtarının uzak sunucuya kopyalanması gerekir. Aç /~.ssh/rsync.key.pub bir dosyada Metin düzeltici ve bir şeye benzeyen büyük bir çizgi göreceksiniz.

ssh-rsa kullanıcı@host

Bu uzun satır, genel SSH anahtarıdır. Panonuza kopyalayın ve uzak sunucunuzda şu komutları çalıştırın:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... user@host" > $HOME/.ssh/yetkili_anahtarlar
chmod 0644 $HOME/.ssh/yetkili_anahtarlar

Son ikinci komutta, tırnak işaretleri arasındaki metni bu uzun genel SSH anahtar satırıyla değiştirin. İşte bu kadar, yerel bilgisayarınız artık uzak sunucunuzla kimlik doğrulaması yapabilecek.

ssh yapılandırma Dosyasını yapılandırın

Basitlik adına, bir giriş ekleyin ~/.ssh/config Uzak sunucuya kolayca bağlanmak için yerel PC'nizde dosya. Dosyayı yerel PC'nizde komutuyla açın.

nano $HOME/.ssh/config

Dosya içinde uzak sunucu için aşağıdaki gibi bir giriş ekleyin:

ana bilgisayar backup_server
 ana bilgisayar adı 192.168.0.24
 kullanıcı rsync
 Kimlik Dosyası ~/.ssh/rsync

Ana bilgisayar adını uzak sunucunuzun IP adresiyle değiştirin ve "rsync" dışında bir kullanıcı adı kullandıysanız bunu da değiştirin. Ana bilgisayar için istediğiniz herhangi bir şeyi kullanabilirsiniz, ancak bu örnekte "backup_server" kullanılmıştır. Dosyayı Ctrl+X ve ardından "Y" ve Enter tuşlarına basarak kaydedin ve kapatın.

Komutuyla uzak sunucuya SSH bağlantınızı test edin.

ssh yedekleme_sunucusu

Her şeyin doğru kurulduğunu varsayarsak, artık uzak sunucunuza SSH üzerinden giriş yapmış olmalısınız. Komutla bağlantıyı kapatın.

çıkış

Dosyalarınızı Eşitleyin

Şimdi test edin rsync işlevsellik ve örneğin yerel PC'nizdeki Belgeler dizininizi senkronize etmek için şu komutu çalıştırın:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

İlk oluşumu ~/Belgeler/ eşitlenecek yerel dosya veya dizini belirtir, backup_server eklenen girişe karşılık gelir ~/.ssh/config dosya ve bitiş :~/Belgeler basitçe her şeyi ana dizine göre uzak sunucunun /Documents dizinine yüklemeyi belirtir.

Uzak sunucuda oturum açın ve yerel PC'nizinkiyle senkronize olan yeni bir Belgeler dizini görmelisiniz. Yukarıdaki komutu her çalıştırdığınızda, yalnızca son seferden beri değiştirilen dosyalar yüklenecektir, bu nedenle dizinin tüm içeriğini sürekli olarak yüklemezsiniz.

Crontab ile otomatikleştirin

Artık her şey test edilip düzgün çalıştığına göre, yerel bilgisayarımıza bir crontab işi ekleyerek tüm süreci kolayca otomatikleştirebiliriz. Yerel klasörünüzü her 15 dakikada bir uzak sunucuyla otomatik olarak eşitlemek için terminal içinde komutu çalıştırın.

(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

"Kullanıcı için crontab yok" mesajı alabilirsiniz ve bunu görmezden gelebilirsiniz. Değiştir Belgeler yedeklemek istediğiniz her şeye dizin, ancak dizinler için sonunda bir eğik çizgi bıraktığınızdan emin olun, aksi takdirde düzgün bir şekilde yedekleme yapmazlar.

Komutla crontab işinin başarıyla eklendiğinden emin olmak için kontrol edin.

crontab -l

Yeni eklenen crontab işini görürseniz, her şey yerinde demektir. 15 dakika bekleyin, uzak sunucunuzu kontrol edin ve gerekli tüm dosyalar orada olmalıdır. Şu andan itibaren, dosyalarınızda yapılan tüm değişiklikler her 15 dakikada bir uzak sunucuya otomatik olarak yüklenecektir.

Uzak Sunucudan İndir

Ayrıca kullanabilirsiniz rsync Dosyaları uzak sunucudan indirmek ve yerel PC'nizle eşitlemek için. Yukarıdaki /Documents dizini örneğini kullanarak, terminal içinde şu komutu çalıştırın:

rsync -chavzP backup_server:~/Documents/ ~/Documents

NS ~./Belgeler yerel bilgisayarınızdaki dizin artık uzak sunucunun bir ayna görüntüsü olmalıdır.

Kalıpları Dahil Et ve Hariç Tut

Yalnızca belirli bir kalıpla eşleşen dosyaları eşzamanlamanız gerekirse, örneğin şununla bitirin: .html kullanabilirsin --Dahil etmek Desen. Terminal içinde komutu çalıştırın.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Uzak sunucuyu kontrol edin, yalnızca yerel /mysite/ dizininden .html uzantılı dosyaların /public_html/ uzak dizinine yüklendiğini göreceksiniz. Benzer şekilde, belirli dosyalar dışındaki her şeyi --hariç tutmak seçenek. Örneğin, aşağıdaki komut, bir .txt uzantı.

rsync -avz -- "*.txt" hariç tut --progress ~/mysite/ backup_server:~/public_html

İki Yerel Dizini Senkronize Et

Gerekirse, iki yerel dizini de komutla senkronize edebilirsiniz.

rsync -zvr ~/kaynak/dizin ~/hedef/dizin

Bu komut, uzak bir sunucuyla eşitleme sırasındakiyle tamamen aynı şekilde çalışır, tek fark iki yerel dizin olmasıdır.

Gerisi kolay

Artık veri kaybı şansınızın önemli ölçüde daha düşük olduğunu bilerek rahat bir nefes alabilirsiniz. Bu yazıda ne öğrendiniz rsync bir SSH anahtarının nasıl oluşturulacağı ve kurulacağı, içinde bir sunucunun nasıl tanımlanacağıdır. ~./.ssh/config dosya, yerel ve uzak bir dizini senkronize edin ve tüm süreci crontab aracılığıyla otomatikleştirin. İleriye dönük olarak, gerekli tüm dosyalar her zaman yalnızca 15 dakikalık bir gecikmeyle uzak sunucunuzla eşitlenecektir.

E-posta
Linux Sabit Diskinizi Nasıl Klonlarsınız: 4 Yöntem

Linux sabit disk sürücünüzü veya bölümünüzü klonlamanız mı gerekiyor? Linux diskinizi klonlamak için bu sürücü klonlama araçlarından birini kullanın.

İlgili konular
  • Linux
  • Veri yedekleme
  • Linux
  • Bulut yedekleme
  • Ev ağı
Yazar hakkında
Matt Dizak (13 Makale Yayınlandı)Matt Dizak'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Bir adım daha…!

Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.

.