automatyczna kopia zapasowa i wysy

Potrzebujesz pomocy z C, C++, perl, python, itp.
gacek.pl
Posty: 28
Rejestracja: 01 grudnia 2009, 20:28

automatyczna kopia zapasowa i wysyłanie jej na FTP - skrypt

Post autor: gacek.pl »

Witam.

Mam taki problem, zrobiłem sobie skrypt do automatycznej kopii zapasowej wybranych folderów.
Może skrypt jest taki sobie, nie siedzę w tych tematach tak głęboko, ale najważniejsze że działa. Czy mógłby ktoś udoskonalić mi ten skrypt aby wysyłał jeszcze kopię zapasową na dany serwer FTP, który w nim podam. Próbowałem sam to zrobić czytając jakieś tam tematy ale nic mi z tego nie wyszło.

Skrypt:

Kod: Zaznacz cały

#!/bin/sh


DATE=$(date +%d-%m-%Y_%H.%M.%S)

DIR="/home/cos1"
DIR2="/home/cos2"
DIR3="/home/cos3"
DIR4="/home/cos4"

BACKUPDIR="/home/backup"

cd $BACKUPDIR

tar -cvf backup.$DATE.tar $DIR $DIR2 $DIR3 $DIR4 
Jeśli macie jakieś odnośnik lub wskazówki będę wdzięczny za podanie ich w temacie. Nie pogniewam się jeśli komuś się nudzi i przerobiłby mi ten skrypt na gotowy.

Pozdrawiam i dziękuję za jakąkolwiek pomoc.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Wykorzystaj w tym skrypcje ncftpput. Możesz w poleceniu wpisać ścieżkę do pliku gdzie trzymasz login i hasło do konta ftp. Chociaż pewnie bezpieczniej, będzie wykorzystać uwierzytelnione połączenia ssh.
OgrzesiekO
Beginner
Posty: 141
Rejestracja: 03 lutego 2014, 11:43

Post autor: OgrzesiekO »

Cześć. Mam Lapka i Serwer
mam udostępniony folder na lapku /media/kopia i pliki które są tam zapisywane wyświetlają się na serwerze w /home/grzechu/acer
Chciałbym mieć skrypt który te pliki które wyświetlają się w /home/grzechu/acer (na serwerze) skopiować albo przenieść do folderu na serwerze /home/grzechu/backupacer


tak wygląda plik odpowiedzalny za zrobienie kopi:

Kod: Zaznacz cały

#!/bin/sh




DATE=$(date +%d-%m-%Y_%H.%M.%S)


DIR="/home/grzechu/Dokumenty/phpvideo"


BACKUPDIR="/home/backup"


cd $BACKUPDIR


tar -cvf backup.$DATE.tar $DIR

A tak ten który chce żeby mi przeniósł/skopiował

Kod: Zaznacz cały

#!/bin/sh


ssh "192.168.0.210"
cp "/home/grzechu/acer home/grzechu/backupacer"
ten nie działa
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

A o scp słyszałeś?
OgrzesiekO
Beginner
Posty: 141
Rejestracja: 03 lutego 2014, 11:43

Post autor: OgrzesiekO »

Czyli to powinno pomóc?
#!/bin/sh
scp 192.168.0.210:/home/grzechu/acer home/grzechu/backupacer
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

man scp
Tam jest wszystko co Ci jest potrzebne.
Niemniej prawie ci wyszło, brakło jednej rzeczy, mianowicie użytkownika na jakiego ma się zalogować.
OgrzesiekO
Beginner
Posty: 141
Rejestracja: 03 lutego 2014, 11:43

Post autor: OgrzesiekO »

Kod: Zaznacz cały

[color=#333333][I]#!/bin/sh[/I][/color]
[color=#333333][I]man scp root@192.168.0.210:/home/grzechu/acer home/grzechu/backupacer[/I][/color]
gaijin
Posty: 42
Rejestracja: 06 czerwca 2012, 08:47

Post autor: gaijin »

Podam ci skrypt z którego ja korzystam. Może prymitywny ale działa. Możesz dopisywać kolejne literki i foldery do backupu, pamiętając o uzupełnieniu kodu o te literki.

Kod: Zaznacz cały

#!/bin/bash
data=`date +%Y-%m-%d`

a=/etc
b=/home/grzes/costam
c=/home/grzes/Startowy/SKRYPTY

for katalog in $a $b $c;
do
tar -czPf /home/grzes/abc/${data}-`echo $katalog |tr -d '/'`.tgz $katalog
done

#FTP
ftp -n IP_FTP << KONIEC
user admin HASLO_FTP
bin
prompt off
lcd /home/grzes/abc
cd backup/ # tu folder na ftp
mkdir ${data}
cd ${data}
put ${data}-`echo $a |tr -d '/'`.tgz
put ${data}-`echo $b |tr -d '/'`.tgz
put ${data}-`echo $c |tr -d '/'`.tgz

bye
KONIEC
ODPOWIEDZ