Ubuntu'da yedekleme yapmanın birçok yolu vardır. Geçenlerde güçlü ama karmaşık bir araç olan Bakula'yı incelemiştik. Bugün rsync kullanarak nasıl yedekleme yapacağımızı öğreneceğiz.
Adım 1 - rsync'i Yükleme
Ubuntu 20.04 zaten rsync paketini yüklü olarak içerir. Bunu kontrol etmek ve sürümü öğrenmek için şu komutu kullanın:
sudo rsync --version
Paket herhangi bir nedenle yüklenmemişse, şu komutu kullanın:
sudo apt install rsync
Ubuntu 20.04'te rsync'i bir hizmet olarak başlatmak için /etc/rsyncd.conf dosyasını oluşturun ve /lib/systemd/system/rsync.service dosyasını /etc/systemd/system/rsync.service dosyasına kopyalayın.
sudo nano /etc/rsyncd.conf # save and close it
sudo cp /lib/systemd/system/rsync.service /etc/systemd/system/rsync.service
Şimdi hizmeti yeniden başlatın.
sudo systemctl restart rsync
Adım 2 - Veri kaynağı sunucusunu yapılandırma
İlk olarak, bu satırları /etc/rsyncd.conf rsync yapılandırma dosyasına ekleyin. 'path' parametresini yedeklenecek kaynak dosyaların yolu olarak değiştirin. 'uid' ve 'gid' için, yedekleme kaynak klasörlerinde okuma izinlerine sahip mevcut kullanıcı adı ve grubu kullanın.
sudo nano /etc/rsyncd.conf
# Global configuration of the rsync service
pid file = /var/run/rsyncd.pid
# Username and group for working with backups
uid = backup-user
gid = backup-user
# Don't allow to modify the source files
read only = yes
# Data source information
[data]
path = /path/to/backup
list = yes
auth users = backup-user
secrets file = /etc/rsyncd.passwd
'auth users' parametresindeki ve /etc/rsyncd.passwd dosyasındaki veriler, farklı bilgisayarlardaki rsync arasında yetkilendirme için kullanılır. Buraya aşağıdaki gibi bir satır ekleyin:
sudo nano /etc/rsyncd.passwd
backup-user:test-pass
rsyncd.passwd dosyasının izinlerini değiştirin.
sudo chmod 0600 /etc/rsyncd.passwd
Değişiklikleri uygulamak için hizmeti yeniden başlatın.
sudo systemctl restart rsync
Adım 3 - Yedeklemeyi çalıştırma
Yedeklerin saklanacağı alıcı sunucuda /etc/rsyncd.passwd dosyasını oluşturun. Kaynak bilgisayardakiyle aynı parolayı girin, ancak kullanıcı adı olmadan, bunun için 600 izin ayarlayın.
sudo nano /etc/rsyncd.passwd
test-pass # Save and close file
sudo chmod 0600 /etc/rsyncd.passwd
Bir yedekleme gerçekleştirmek için komutu çalıştırın:
rsync -a --password-file=/etc/rsyncd.passwd backup-user@source-server-ip::data /destination/path/$(date +%Y-%m-%d)/
source-server-ip yerine ilk sunucunun IP adresini ve '/destination/path/' yerine de yedeklerin saklanacağı yolu yazın.
Düzenli yedeklemeler için görevi /etc/crontab dosyasının sonuna eklemeniz yeterlidir.