Jak wgrać plik na serwer ftp
Moderatorzy: Moderatorzy, Administratorzy
Jak wgrać plik na serwer ftp
Witam.
Mam taką sytuację - raz w tygodniu tworzy się backup - 8GB plik gz.
Chcę zbudować skrypt w bashu, który ten plik przegra na serwer ftp, a następnie go skasuje - potem dam sobie ten skrypt do crona i będzie mi się to wykonywać cyklicznie ale nigdy nie robiłem nic w skryptach i nie wiem jak napisać takowy skrypt...
Mam taką sytuację - raz w tygodniu tworzy się backup - 8GB plik gz.
Chcę zbudować skrypt w bashu, który ten plik przegra na serwer ftp, a następnie go skasuje - potem dam sobie ten skrypt do crona i będzie mi się to wykonywać cyklicznie ale nigdy nie robiłem nic w skryptach i nie wiem jak napisać takowy skrypt...
Re: Jak wgrać plik na serwer ftp
Ale pytasz o co?
Jak się pisze w bashu? - sądzę że przykładów i tutoriali znajdziesz od metra. A zawsze jeszcze masz man bash.
Jak najlepiej skopiować coś między maszynami? - scp, rsync, ftp... pewnie scp jest tutaj najłatwiejszy.
Przyda się jeszcze dodanie hosta-źródła do known-hostów na maszynie docelowej, by nie trzeba było podawać hasła (jeśli skrypt kopiujący będzie na maszynie źródłowej), lub odwrotnie: hosta-celu na maszynie źródłowej (jeśli skrypt będzie na maszynie docelowej).
A najprostszy skrypt w bashu
Jak się pisze w bashu? - sądzę że przykładów i tutoriali znajdziesz od metra. A zawsze jeszcze masz man bash.
Jak najlepiej skopiować coś między maszynami? - scp, rsync, ftp... pewnie scp jest tutaj najłatwiejszy.
Przyda się jeszcze dodanie hosta-źródła do known-hostów na maszynie docelowej, by nie trzeba było podawać hasła (jeśli skrypt kopiujący będzie na maszynie źródłowej), lub odwrotnie: hosta-celu na maszynie źródłowej (jeśli skrypt będzie na maszynie docelowej).
A najprostszy skrypt w bashu
Kod: Zaznacz cały
#!/bin/bash
echo "Hello Slackware"
exit 0
Re: Jak wgrać plik na serwer ftp
ftp'em backup wysyłać? Kripi. nie lepiej SCP bazując na kluczu RSA? Ewentualnie nie lepiej mieć zamontowany katalog np po SMB i bezpośrednio backup robić do mounta ?
Re: Jak wgrać plik na serwer ftp
A co... nie da się... da się.
Ale też wyraźnie sugerowałem że scp jest tutaj najprzyjaźniejszy. Oraz o dodaniu klucza... cieszę się że potwierdzasz moje sugestie
Mount smb nie zawsze jest dobrym pomysłem, nie zawsze jest wydajny, nie zawsze jest nawet możliwy... np. jak chcemy backupować na maszynie... gdzieś... hen hen, gdzie nie mamy np. vpn'a.
Ale też wyraźnie sugerowałem że scp jest tutaj najprzyjaźniejszy. Oraz o dodaniu klucza... cieszę się że potwierdzasz moje sugestie
Mount smb nie zawsze jest dobrym pomysłem, nie zawsze jest wydajny, nie zawsze jest nawet możliwy... np. jak chcemy backupować na maszynie... gdzieś... hen hen, gdzie nie mamy np. vpn'a.
Re: Jak wgrać plik na serwer ftp
Zbudowałem poniższy skrypt:
Dokładnie chodzi o komendę put. Plik, który będę kopiować będzie ciągle miał inną nazwę - jak zrobić, żeby put kopiował cokolwiek znajdzie w /backups/* i żeby kopiował to pod tą samą nazwą do /kopia/*
Jak później skasować ten plik po udanej kopii?
Kod: Zaznacz cały
#!/bin/sh
HOST='zzzz'
USER='user'
PASSWD='password'
FILE='/backups/kopia1.zip /kopia/kopia1.zip'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT
exit 0
Jak później skasować ten plik po udanej kopii?
Re: Jak wgrać plik na serwer ftp
Odpowiedź (częściową) masz w manualu:
"put local-file [remote-file]
... If remote-file is left unspecified, the local file name is used after processing according to any ntrans or nmap settings in naming the remote file."
Po pierwsze wyodrębnij SRC i DST z FILE - to taka rada na przyszłość przy pisaniu skryptów.
Po drugie, skoro mają mieć inne nazwy, to nie rozumiem sztywnego "kopia.zip"
Po trzecie: co się tak uparłeś na ten ftp? To że napisałem że się da, nie znaczy że jest to dobre rozwiązanie. Użyj scp jak Ci z Websterem sugerujemy od początku.
"put local-file [remote-file]
... If remote-file is left unspecified, the local file name is used after processing according to any ntrans or nmap settings in naming the remote file."
Po pierwsze wyodrębnij SRC i DST z FILE - to taka rada na przyszłość przy pisaniu skryptów.
Po drugie, skoro mają mieć inne nazwy, to nie rozumiem sztywnego "kopia.zip"
Po trzecie: co się tak uparłeś na ten ftp? To że napisałem że się da, nie znaczy że jest to dobre rozwiązanie. Użyj scp jak Ci z Websterem sugerujemy od początku.
Re: Jak wgrać plik na serwer ftp
No i oczywiście nie zapomnij zmienić trybu na binarny.
Tak jak webster i ja sugeruję użycie scp z kluczem. Wygodniej się skrypt tworzy, połączenie jest zabezpieczone, a jak na serwerze się zmieni shell na rssh lub scponly, powyłącza forwardowanie itp, to i bezpieczniejsze.
Tak jak webster i ja sugeruję użycie scp z kluczem. Wygodniej się skrypt tworzy, połączenie jest zabezpieczone, a jak na serwerze się zmieni shell na rssh lub scponly, powyłącza forwardowanie itp, to i bezpieczniejsze.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.