Pozdrav,
evo, iako je tema relativno stara, budući da naslov odgovara mome problemu, odlučio sam ne otvarati novu nego pisati ovdje.
Napravio sam vrlo jednostavnu skriptu u pythonu vezano za arhiviranje u taru. Svrha skripte je napraviti backup home direktorija. Zanima me sada kako u skriptu ubaciti i destinaciju na koju želim da se datoteke arhiviraju. Ovako moram ući u direktorij koji želim (/media/Transcand/Backup_folder) i tek onda pokrenuti skriptu. Želio bih jednostavno upisati home_backup.sh i da skripta sve sama obavi, da unaprijed zna u koji direktorij mora pohraniti datoteke, automatski.
Sada je: 19 tra 2024, 20:03.
Moderator/ica: Moderatori/ce
Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
41 post(ov)a
•
Stranica: 4/5. • 1, 2, 3, 4, 5
pa napravi varijable sa pathom
npr.
path = "/home/tvoj_user/"
path2 = "/media/Transcandadanda/Backup_folder/"
No malo je tesko skuziti kaj tocno trebas, jer ne znam kak ti izgleda skripta. Daj ju zakelji ovde.
npr.
path = "/home/tvoj_user/"
path2 = "/media/Transcandadanda/Backup_folder/"
No malo je tesko skuziti kaj tocno trebas, jer ne znam kak ti izgleda skripta. Daj ju zakelji ovde.
stefan je napisao/la:tu mač gemišta
To understand recursion, you must first understand recursion.
Stvarno sam početnik u ovom, skripta možda čak nije niti u pythonu nego je to bash skripta, možda je to i isto, ne znam.
Nisam odmah sve stavio u jedan tar jer sam dokumente komprimirao, a ostalo nisam. Razlog je tome što imam mape u koje stavljam ono što mi je važno pa se nadam da ću kasnije moći samo apdejtat tar sa svičem update. Ono što se često ne mijenja komprimirao sam. Volio bih sve imati u jednoj datoteci pa sam zato na kraju sve još zakopao u jedan tar.
E sad, moram ući u direktorij u koji želim napraviti bekap (cd /media/Transcend/Backup) i tek onda pokrenuti home_backup.sh, želim jednostanvo spojiti prijenosni hard disk (automatski se mounta u /media), otvoriti terminal i ukucati home_backup.sh
Mogu li nekomprimirani tar apdejtat samo sa svičem u i da automatki izbirše čega više nema u kompu ili da, još važnije doda ono što je novo.
Ja sam probao svaki od segment zasebno, ovo kada je sve zajedno sklepano sa točkom zarezom nisam progao, hoće to sve uopće radit kad je stavljeno ovako kako tu gore piše?
Hvala na pomoći.
- Kod: Označi sve
#!/usr/bin/env BASH
tar -jcvf document_backup /home/bruka --exclude "/home/bruka/Downloads" --exclude "/home/bruka/Pictures" --exclude "/home/bruka/Videos" --exclude "/home/bruka/Music" [...]
tar cvf Videos_backup /home/bruka/Videos ;;
tar cvf Pictures_backup /home/bruka/Pictures ;;
tar cvf Downloads_backup "/home/bruka/Downloads/Ostalo" "/home/bruka/Downloas/Debian_6.0.5_Squeeze_i386" "/home/bruka/Downloads/Debian_testing-Wheezy" "/home/bruka/Linux Mint" "/home/bruka/Downloads/LibreOffice_Extensions" "/home/bruka/Downloads/AdobeReader" "/home/bruka/Downloads/LibreOffice3.5.6" ;;
tar cvf Backup "document_backup" "Videos_backup" "Pictures_backup" "Downloads_backup"
Nisam odmah sve stavio u jedan tar jer sam dokumente komprimirao, a ostalo nisam. Razlog je tome što imam mape u koje stavljam ono što mi je važno pa se nadam da ću kasnije moći samo apdejtat tar sa svičem update. Ono što se često ne mijenja komprimirao sam. Volio bih sve imati u jednoj datoteci pa sam zato na kraju sve još zakopao u jedan tar.
E sad, moram ući u direktorij u koji želim napraviti bekap (cd /media/Transcend/Backup) i tek onda pokrenuti home_backup.sh, želim jednostanvo spojiti prijenosni hard disk (automatski se mounta u /media), otvoriti terminal i ukucati home_backup.sh
Mogu li nekomprimirani tar apdejtat samo sa svičem u i da automatki izbirše čega više nema u kompu ili da, još važnije doda ono što je novo.
Ja sam probao svaki od segment zasebno, ovo kada je sve zajedno sklepano sa točkom zarezom nisam progao, hoće to sve uopće radit kad je stavljeno ovako kako tu gore piše?
Hvala na pomoći.
Da, to je u bashu, možeš napraviti i u pythonu, ali sve je to manje-više isto.
Napravi varijablu dest u kojoj spremiš string lokacije gdje želiš kopirati backupirane tar arhive, korisno je i naznačiti otkad je backup, pa možeš u naziv arhive staviti datum i vrijeme, te s tar czf kompresirati na željeno mjesto, npr.
Ovo je samo neki kostur, može se to još doraditi
Napravi varijablu dest u kojoj spremiš string lokacije gdje želiš kopirati backupirane tar arhive, korisno je i naznačiti otkad je backup, pa možeš u naziv arhive staviti datum i vrijeme, te s tar czf kompresirati na željeno mjesto, npr.
- Kod: Označi sve
backup_files= "ono što želiš backupirati" ## ako želiš da ne ide sve u jednu tar arhivu napravi više varijabla u koje ćeš premiti okacije koje trebaju ići u jednu tar arhivu(npr. backup_files_1, backup_files_2) i više puta ponovi tar czf $dest/$archive_file (tu ćeš onda morati dodati još neki naziv, npr. download ako je riječ o backupu download arhive) $backup_files_n
dest="/media/300-S/Backups/"
# Create archive filename.
day=$(date +%a)
time=$(date +%R)
hostname=$(hostname -s)
archive_file="$hostname-$day-$time.tgz"
tar czf $dest/$archive_file $backup_files
Ovo je samo neki kostur, može se to još doraditi
Ken Thompson je napisao/la:One of my most productive days was throwing away 1000 lines of code.
Pikacode - Arch configs
Pikacode - dwm config
retsam je napisao/la:Da, to je u bashu, možeš napraviti i u pythonu, ali sve je to manje-više isto.
Napravi varijablu dest u kojoj spremiš string lokacije gdje želiš kopirati backupirane tar arhive, korisno je i naznačiti otkad je backup, pa možeš u naziv arhive staviti datum i vrijeme, te s tar czf kompresirati na željeno mjesto, npr.
- Kod: Označi sve
backup_files= "ono što želiš backupirati" ## ako želiš da ne ide sve u jednu tar arhivu napravi više varijabla u koje ćeš premiti okacije koje trebaju ići u jednu tar arhivu(npr. backup_files_1, backup_files_2) i više puta ponovi tar czf $dest/$archive_file (tu ćeš onda morati dodati još neki naziv, npr. download ako je riječ o backupu download arhive) $backup_files_n
dest="/media/300-S/Backups/"
# Create archive filename.
day=$(date +%a)
time=$(date +%R)
hostname=$(hostname -s)
archive_file="$hostname-$day-$time.tgz"
tar czf $dest/$archive_file $backup_files
Ovo je samo neki kostur, može se to još doraditi
Hm, shvaćam, ali nisam siguran u neke stvari. Pod backup_files= pišem samo imena direktorija kao što si ti pokazao (backup_files_1) ili moram pisati punu destinaciju do direktorija (/home/bruka/Documents/Važno)
Ustvari, možeš li mi pojasniti što bi ova varijabla day i time zapravo radile? U ime arhive automatski stavljale datum i vrijeme? Što je s hostname, čemu to služi.
Prema ovome što si napisao datoteke ne bi bile komprimirane, što nije nužno loše, čak mi i odgovara ako bih ih kasnije mogao na jednostavan način ažurirati (switch -u). Gdje bih u tvom primjeru trebao upisati --exclude za one datoteke koje ne želim pohraniti, tipa .gconfd jer pokušavam spremiti samo ono što sam ja napravio, ne ono što sistem sam radi/instalira da bi mogao funkcionirati.
Evo konkretan primjer:
U backup_files navedeš koje sve direktorije hoćeš backupirati, ne moraš više varijabla(iako možeš), on ti ih svejedno zapakira kao stablo /home/juzer/direktorij1, direktorij2 zapakira u tgz arhivu, možeš to primijeniti i u gornjoj skripti, samo navedeš dest string i ubacuješ ga ispred imena arhive i on će ti tu staviti zapakiranu arhivu.
- Kod: Označi sve
#!/usr/bin/env sh
backup_files="/home/luka/src /home/luka/Downloads"
dest="/media/USB"
# Create archive filename.
day=$(date +%a)
time=$(date +%R)
hostname=$(hostname -s)
archive_file="$hostname-$day-$time.tgz"
tar czf $dest/$archive_file $backup_files
U backup_files navedeš koje sve direktorije hoćeš backupirati, ne moraš više varijabla(iako možeš), on ti ih svejedno zapakira kao stablo /home/juzer/direktorij1, direktorij2 zapakira u tgz arhivu, možeš to primijeniti i u gornjoj skripti, samo navedeš dest string i ubacuješ ga ispred imena arhive i on će ti tu staviti zapakiranu arhivu.
Ken Thompson je napisao/la:One of my most productive days was throwing away 1000 lines of code.
Pikacode - Arch configs
Pikacode - dwm config
retsam je napisao/la:Evo konkretan primjer:
U backup_files navedeš koje sve direktorije hoćeš backupirati, ne moraš više varijabla(iako možeš), on ti ih svejedno zapakira kao stablo /home/juzer/direktorij1, direktorij2 zapakira u tgz arhivu, možeš to primijeniti i u gornjoj skripti, samo navedeš dest string i ubacuješ ga ispred imena arhive i on će ti tu staviti zapakiranu arhivu.
Ok, ja ću to probati kroz dan-dva pa ako bude problema javim se. Hvala na trudu!
Riješio sam problem ovako, bi li to bilo u redu ili bih trebao što popraviti?
Htio bih samo umjesno varijabli day i time htio imati varijable day, month te year: debian-day-month-year...
- Kod: Označi sve
#!/usr/bin/env sh
# Setting variables
backup_home="/home/bruka"
backup_Informatika="/home/bruka/Informatika"
backup_Videos="/home/bruka/Videos"
backup_Pictures="/home/bruka/Pictures"
backup_Musics="/home/bruka/Musics"
# List of archived files
backup_contant="backup_contant.txt"
# Setting destination
dest="/home/bruka/Desktop"
backup_dest="/home/bruka/Downloads"
# Create archive filename.
day=$(date +%a)
time=$(date +%R)
hostname=$(hostname -s)
archive_file="$hostname-$day-$time.tgz"
# Exe tar
tar cvf $dest/$archive_file $backup_home --exclude "/home/bruka/Downloads" --exclude "/home/bruka/Pictures" --exclude "/home/bruka/Videos" --exclude "/home/bruka/Music" --exclude "/home/bruka/.gnubg" --exclude "/home/bruka/.gnupg" --exclude "/home/bruka/.googleearth" --exclude "/home/bruka/.gstreamer-0.10" [...] >> $dest/$backup_contant
tar cvf $dest/$archive_file $backup_dest/"Debian_6.0.5_Squeeze_i386" $backup_dest/"Linux_Mint" $backup_dest/"Ostalo" $backup_dest/"LibreOffice_Extensions" $backup_dest/"AdobeReader" $backup_dest/"ntm-1.3.1.tar.gz" "pkg-mozilla-archive-keyring_1.0_all.deb" $backup_dest/"LibreOffice3.5.6" [...] >> $dest/$backup_contant
tar cvf $dest/$archive_file $backup_Informatika >> $dest/$backup_contant
tar cvf $dest/$archive_file $backup_Videos >> $dest/$backup_contant
tar cvf $dest/$archive_file $backup_Pictures >> $dest/$backup_contant
tar cvf $dest/$archive_file $backup_Musics >> $dest/$backup_contant
Htio bih samo umjesno varijabli day i time htio imati varijable day, month te year: debian-day-month-year...
Ovaj moj post iznad ne radi, odnosno radi, ali svaku novu mapu piše preko stare, tako da je u arhivi uvijek samo jedna mapa, riješio sam to dodavajući svakoj lokaciji drugačije ime, napravio sam tako da svaki dio homea ima svoju arhivu.
u posljednje vrijeme se družim malo s pythonom, pa imam 2-3 pitanja na koje ću vjerojatno brzo dobiti odgovor
znači, na debianu imam trenutno verziju 3.x pythona (mislim IDLE okruženja), a do prije sam na windowsima radio sa 2.7 (čini mi se da je 2.7, uglavnom 2.x). kolko sam uvidio ima nekih razlika u sintaksi u 3.x i 2.x pa me zanima: dal su to velike razlike? dal da radim u 3.x ili 2.x verziji? kako da maknem 3.x verziju i da stavim 2.x verziju? slušam preporuke
znači, na debianu imam trenutno verziju 3.x pythona (mislim IDLE okruženja), a do prije sam na windowsima radio sa 2.7 (čini mi se da je 2.7, uglavnom 2.x). kolko sam uvidio ima nekih razlika u sintaksi u 3.x i 2.x pa me zanima: dal su to velike razlike? dal da radim u 3.x ili 2.x verziji? kako da maknem 3.x verziju i da stavim 2.x verziju? slušam preporuke
41 post(ov)a
•
Stranica: 4/5. • 1, 2, 3, 4, 5
Na mreži
Trenutno korisnika/ca: / i 4 gostiju.