Skrypt z backupem

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Leewang
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 13 sty 2008, 18:09
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Blackbox

Skrypt z backupem

Post autor: Leewang »

Witam

Proszę o pomoc w sprawie napisania skryptu backupu danych aktualnie zalogowanego użytkownika.

Mam kilka pytań:

1. Napisałem taki skrypt:

Kod: Zaznacz cały

 #!/bin/bash

cp -R /home/$USER/ /home/$USER/backup

Jak zrobić aby przy kolejnym robieniu backupu, nie kopiowało katalogu backup?

2. Jak zrobić, gdy ponownie uruchomimy skrypt to program sprawdzi czy jakiś plik/katalog został usunięty i zapyta czy również usunąć go z katalogu backup ?

Lub gdy "backupowany" plik lub katalog jest nowszy to zapyta czy go zastąpić lub dopisać do katalogu/pliku cyfrę 1.

Pozdrawiam i z góry dziękuję za wszelką pomoc.
Awatar użytkownika
MrRobby
Przyjaciel
Przyjaciel
Posty: 398
Rejestracja: 21 lip 2006, 20:26
Płeć: Mężczyzna
Wersja Ubuntu: 18.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Skrypt z backupem

Post autor: MrRobby »

Zainteresuj się rsync do synchronizacji katalogów. Ja używam min tego

Kod: Zaznacz cały

rsync -v -r -u -t /DANE/Zdjecia /DANE2/ZDJECIA.back
Pozdrawiam MrRobby

BTC: 1AVuTQRLNC2Ut2cd2pekWXZhhc1rzBbXNr
LTC: Lei3u3qCTaHrBnabG6VugeUeTVn8TsLTXe
Awatar użytkownika
Leewang
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 13 sty 2008, 18:09
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Blackbox

Odp: Skrypt z backupem

Post autor: Leewang »

Dzięki za podpowiedź MrRobby ! :) Wypróbuję

EDIT:
tylko w sumie rsync zrobi mi backup w jednym pliku chyba? Mi chodzi o to żeby cała zawartość /home/$USER/ (w ktorej trzeba pominac folder backup) przekopiowala sie do /home/$USER/backup

Pomoże ktoś jeszcze w temacie?
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: Skrypt z backupem

Post autor: leon1313 »

Przenoś tymczasowo folder do katalogu /tmp/my_backup i dopiero rób backup. Resztę sobie dopisz..

p.s nie ma to jak networker :-)))
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
Awatar użytkownika
Leewang
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 13 sty 2008, 18:09
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Blackbox

Odp: Skrypt z backupem

Post autor: Leewang »

Napisałem taki skrypt:

Kod: Zaznacz cały

#!/bin/bash

if [ -z ~/backup ]
then
mkdir /home/$USER/backup
else
mv /home/$USER/backup /tmp/backup
cp -R /home/$USER/ /tmp/backup
mv /tmp/backup /home/$USER/backup
fi
Tylko powiedzcie mi czemu nie działa? Czy jest inny operator zamiast -z który sprawdza czy katalog nie istnieje?

Pare razy ten skrypt zadziałał ale nie wiem czemu kopiował wszystko do katalogu backup i dodatkowo do katalogu z ktorego uruchamiało się skrypt...
Awatar użytkownika
MrRobby
Przyjaciel
Przyjaciel
Posty: 398
Rejestracja: 21 lip 2006, 20:26
Płeć: Mężczyzna
Wersja Ubuntu: 18.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Skrypt z backupem

Post autor: MrRobby »

Kod: Zaznacz cały

tar --help
Osobiście korzystam z czegoś takiego

Kod: Zaznacz cały

tar -cvvf /DANE/Backup/stacja-`date -I`.tar.gz -T backup.lista -X backup.wykluczenia
w pliku backup.lista mam katalogi które mają być pakowane np

Kod: Zaznacz cały

/etc
/home
/var
natomiast w pliku backup.wykluczenia mam katalogi które mają być pomijane
np

Kod: Zaznacz cały

/home/mrrobby/tmp
/home/mrrobby/dane
Może coś takiego ci starczy?
Pozdrawiam MrRobby

BTC: 1AVuTQRLNC2Ut2cd2pekWXZhhc1rzBbXNr
LTC: Lei3u3qCTaHrBnabG6VugeUeTVn8TsLTXe
Awatar użytkownika
Struchu
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 116
Rejestracja: 23 mar 2008, 19:58
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: Skrypt z backupem

Post autor: Struchu »

-z sprawdza, czy łańcuch, który mu podajesz ma długość 0. -d sprawdza, czy plik istnieje i czy jest katalogiem.
Ma zielone, kocie oczy...
Awatar użytkownika
Leewang
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 13 sty 2008, 18:09
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Blackbox

Odp: Skrypt z backupem

Post autor: Leewang »

Mam już pewną wygenerowaną listę plików do usunięcia, ktoś mi powie jak zrobić aby skrypt brał pokoleji z listy pliki i usuwał je komendą rm?

Myślałem nad czymś takim

Kod: Zaznacz cały

#!/bin/bash
cd ~/backup/$USER
xxx= ~/usunietepliki
for linia in $xxx
do
rm -ri $linia
done 
Ale gdy wywołam skrypt to piszę że brak dostępu do pliku ~/usunietepliki, a z konsoli jak wklepie tą samą komendę to działa.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 13 gości