lftp ile ssh üzerinden uzak ftp hesabına yedek alma

Senaryomuzda bir linux sunucumuz olduğunu ve bunun içindeki belirli dosya ya da klasörleri bir uzak ftp hesabına aktaracağımızı düşünelim.

Linux Sunucumuzda lftp kurulu olduğunu varsayıyorum , değil ise kullandığınız dağıtıma göre kurabilirsiniz.

Ör : yum install lftp

Yedeklerin alınacağı ftp hesabınızda muhtemelen hazır durumdadır ki bu yazıyı okuyorsunuz.

Şimdi yedek için konfigürasyonumuzu hazırlayalım , bu konfigürasyon içinde ftp bilgilerimiz ve hangi dosyaların yedek alınması gerektiğini belirteceğiz.

Önce dosyamızı oluşturalım;

root@ayhanarda.com [~]# nano yedek.conf

Dosya içeriği aşağıdaki gibi olmalı;  mput ile başlayan satırları alt alta çoğaltabilirsiniz , hangi dosya ya da dosyaların yedeğini istiyorsanız yanına belirtmelisiniz , aşağıdakiler örnek olarak yazılmıştır.

open -u ftpkullaniciadi,ftpsifresi ftpipadresi
mput /home/cpbackup/weekly*.tar.gz
mput /var/log/messages
bye

Şimdi yedek dosyamız hazır olduğuna göre bunu çalıştıracak shell script i hazırlayalım.

root@ayhanarda.com [~]# nano yedekal.sh

Dosya içeriği aşağıdaki gibi olmalı; Buradaki yedek.conf , az önce oluşturduğumuz dosya adıdır , ismini farklı yaptı iseniz yaptığınız şekilde yazmalısınız.

#!/bin/sh
lftp -f yedek.conf

Şimdi shell scriptimizi kaydediyoruz ve çalıştırılabilir olması için izin veriyoruz.

root@ayhanarda.com [~]# chmod +x yedekal.sh

Artık dosyamız çalıştırılabilir durumda , çalıştırmak için aşağıdaki komutu uygulayınız.

root@ayhanarda.com [~]# ./yedekal.sh

Eğer bunu cronjab a eklemek ve istediğiniz zaman çalışmasını sağlamak istiyor iseniz aşağıdaki şekilde işlem yapabilirsiniz. Aşağıdaki örnekte her gün sabah 9 ve akşam 23 te yedek alma işlemini başlatacaktır.

root@ayhanarda.com [~]# crontab -e

00 09,23 * * */root/yedekal.sh

Saygılarımla

Ayhan ARDA