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

Share Button
One Comment

    E K

    Install lftp

    sudo apt-get install lftp

    after that create script

    #!/bin/bash
    HOST=’mysite.com’
    USER=’myuser’
    PASS=’myuser’
    TARGETFOLDER=’/new’
    SOURCEFOLDER=’/home/myuser/backups’

    lftp -f ”
    open $HOST
    user $USER $PASS
    lcd $SOURCEFOLDER
    mirror –reverse –delete –verbose $SOURCEFOLDER $TARGETFOLDER
    bye

    Save it on some place with name upload.sh. Give it +x permission.

    sudo chmod +x /path_to_script/upload.sh

    Setup crontab to run this command on every x period of time

    https://askubuntu.com/questions/758640/how-to-automatically-sync-the-contents-of-a-local-folder-with-the-contents-of-a

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*
*