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:
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.
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.
- Linux
- Veri yedekleme
- Linux
- Bulut yedekleme
- Ev ağı
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.