![]() |
![]() |
|
Slobodni softver Teme o softveru otvorenog koda (programi i operativni sistemi), projektima, zajednici... |
![]() |
|
Alatke vezane za temu
![]() |
Vrste prikaza
![]() |
![]() |
#1 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Kako da namestim da mi Ubuntu server uploaduje odredjeni folder na dropbox?
Imam web development masinu, zelim da namestim cronjob koji ce svakog dana da pokrene skriptu da zapakuje odredjeni folder (/var/www) i posalje na moj dropbox. To bi zeleo da radim kao backup resenje jer hard disk moze da rikne svakog trenutka. Na netu sam nasao razne skripte ali nijedno resenje ne radi. Znam da namestim cron job, ali mi nije jasno kako da napisem bash skriptu koja uploaduje na dropbox? Da li se neko bavio ovim i kakva su iskustva? |
![]() |
![]() |
![]() |
#2 |
Veteran
Član od: 30.6.2006.
Lokacija: Bečkerek
Poruke: 722
Zahvalnice: 46
Zahvaljeno 133 puta na 122 poruka
|
![]()
Googlaj headless dropbox
Poslednja ispravka: dare023 (4.10.2012 u 10:09) |
![]() |
![]() |
![]() |
#4 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
A nemaš uslova da instaliraš dropbox?
|
![]() |
![]() |
![]() |
#5 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Meni vise treba nesto kao ovo - Klik Medjutim, nesto tu ne radi - ili ja nisam dovoljno iskusan sa linuxom pa previdjam nesto.
Skoro sam provalio da moj tekst editor dodaje simbol za kraj linije pa bash skripte koje napisem u windowsu i prebacim na linux ne rade. Koristim "nano" za editovanje na linuksu i onda skripta radi. Dakle, treba mi sledece: da linux pakuje folder /var/www i posalje arhivu dropboxu. Druga varijanta bi bila da instaliram ceo dropbox (tacnije dropbox cli - odnosno headless dropbox) za komandni interfejs pa da bash skriptom kopiram doticni folder u dropbox folder (mada to resenje ne odgovara, jer ce fajlovi iz dropboxa da zauzmu pola harda na serveru ![]() |
![]() |
![]() |
![]() |
#6 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
Koristim upravo to što si opisao - shell skripta kompresuje dva direktorijuma, i kopira ih u DBox direktorijum.
Problem sa manjkom mesta nemam jer su arhive relativno male (par MB), ali ih svejedno s vremena na vreme obrišem. Pošto bekap vršim svakih 20 minuta, bekap star nedelju dana mi ne treba, i brišem ih ručno. Evo skripta ako ti šta znači, samo zameni vrednosti: Kod:
#!/bin/sh datum=`date +%d-%m-%y` cd /home/neky/python tar -zcf lexmulti.tar.gz lexmulti/ tar -zcf daemonizer.tar.gz daemonizer/ mv daemonizer.tar.gz daemonizer-$datum.tar.gz mv lexmulti.tar.gz lexmulti-$datum.tar.gz mv lexmulti-$datum.tar.gz /home/neky/Dropbox/lex/lexmulti-$datum.tar.gz mv daemonizer-$datum.tar.gz /home/neky/Dropbox/daemonizer-$datum.tar.gz |
![]() |
![]() |
![]() |
#7 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Hvala puno! Sigurno cu da iskoristim.
E sad, ova skripta kopira u dropbox direktorijum na kompjuteru, pa dropbox odradi posao slanja u cloud. E sad je trik pitanje: kako da namestim da uz pomoc skripte posaljem arhivirani fajl direktno na dropbox server, bez potrebe za instalacijom dropbox-a na predmetni racunar. Dakle, skripta bi sadrzala username i password sa dropboxa, pozivala bi odredjen link i slala fajl u odredjeni folder na dropboxu, samim tim bi se fajl pojavio na drugom windows kompjuteru po pokretanju skripte iz cronjob-a. Fora je sto zelim da obrisem fajl sa ubuntu servera, a nemam uslova za instalaciju dropbox-a na taj server, jer je hdd premali - 2-3Gb slobodnog prostora mi mnogo znaci - a da je stvar jos gora ne mogu ni da ubacim novi/drugi hdd jer je kuciste premalo i za ove komponente. U mom prethodnom postu imate link, ali izgleda da je dropbox promenio rutine i url za slanje preko koga bi radila doticna skripta. Probacu i ja kod kuce pa cu da Vam javim sta sam uspeo da uradim... |
![]() |
![]() |
![]() |
#8 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
Što se mene tiče, Python je uvek rešenje
![]() Evo ovde imaš potrebne fajlove. Na serveru treba da postoji Python 2.7 (ne može Python 3) i potrebno je da u fajlu "example.py" promeniš linije Kod:
email = raw_input("Enter Dropbox email address:") password = getpass("Enter Dropbox password:") Kod:
email = "tvoj_email@ovde" password = "password ovde" ![]() |
![]() |
![]() |
![]() |
#9 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Auf, propade mi ceo dan juce.
Nakon instalacije pythona 2.7 na masinu, skripta nije radila. Prijavljivao je da modul mechanize nije prisutan. Nakon instalacije modula koristeci easy_install, a kasnije i pip, nije bilo promena. Ista poruka. Pokusao sam i sa instalacijom mechnize-a koristeci source install odavde ali tu sam dobio milion gresaka. Mada, ako je preko easy_install-a radio zbunjuje me zasto skripta ne radi. Pregledao sam fajlove i pozivaju DropboxUpload funkciju, znaci dotle stane skripta, funkcija ne moze biti pozvana zbog te poruke o mechanize-u. Zatim sam se vratio bash upload skripti, prekucao kod na linuxu, prekucao i u windowsu i koritisio fromdos komandu i skripta radi, mada stane kod prvog curl-a... izgleda je dropbox promenio rutine za logovanje... Kod:
#!/bin/bash DROPBOX_USER="Your Dropbox username" DROPBOX_PASS="Your Dropbox password" DROPBOX_DIR="Directory in your dropbox account to store the backups, e.g. /backups" BACKUP_SRC="/home /var/www /var/git /etc /root" BACKUP_DST="/tmp" MYSQL_SERVER="127.0.0.1" MYSQL_USER="root" MYSQL_PASS="Your MySQL password" # # Stop editing here. NOW=$(date +"%Y.%m.%d") DESTFILE="$BACKUP_DST/$NOW.tgz" # # Upload a file to Dropbox. # $1 = Source file # $2 = Destination file. function dropboxUpload { # # Code based on DropBox Uploader 0.6 from http://www.andreafabrizi.it/?dropbox_uploader LOGIN_URL="https://www.dropbox.com/login" HOME_URL="https://www.dropbox.com/home" UPLOAD_URL="https://dl-web.dropbox.com/upload" COOKIE_FILE="/tmp/du_cookie_$RANDOM" RESPONSE_FILE="/tmp/du_resp_$RANDOM" UPLOAD_FILE=$1 DEST_FOLDER=$2 # Login echo -ne " > Logging in..." curl -s -i -c $COOKIE_FILE -o $RESPONSE_FILE --data "login_email=$DROPBOX_USER&login_password=$DROPBOX_PASS&t=$TOKEN" "$LOGIN_URL" grep "location: /home" $RESPONSE_FILE > /dev/null if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" fi # Load home page echo -ne " > Loading Home..." curl -s -i -b "$COOKIE_FILE" -o "$RESPONSE_FILE" "$HOME_URL" if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" fi # Get token TOKEN=$(cat "$RESPONSE_FILE" | tr -d '\n' | sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/') # Upload file echo -ne " > Uploading '$UPLOAD_FILE' to 'DROPBOX$DEST_FOLDER/'..." curl -s -i -b $COOKIE_FILE -o $RESPONSE_FILE -F "plain=yes" -F "dest=$DEST_FOLDER" -F "t=$TOKEN" -F "file=@$UPLOAD_FILE" "$UPLOAD_URL" grep "HTTP/1.1 302 FOUND" "$RESPONSE_FILE" > /dev/null if [ $? -ne 0 ]; then echo -e " Failed!" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" exit 1 else echo -e " OK" rm -f "$COOKIE_FILE" "$RESPONSE_FILE" fi } # Backup files. mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases > "$NOW-Databases.sql" tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql" dropboxUpload "$DESTFILE" "$DROPBOX_DIR" rm -f "$NOW-Databases.sql" "$DESTFILE" ![]() |
![]() |
![]() |
![]() |
#10 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]() |
![]() |
![]() |
![]() |
#11 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Hm... meni je python 2.7.2, da ne pravi to problem? Aj probacu poslepodne da pregazim python ponovo pa javljam rezultate. U svakom slucaju hvala na savetu za skriptu.
|
![]() |
![]() |
![]() |
#12 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
2.7.3 kod mene. Sigurno te muči instalacija mechanize modula, zar ga nema u repoima? Na Archu se paket zove python-mechanize.
Šta se dešava kada u terminalu pokreneš python2.7, dobiješ interpreter i pokušaš da uradiš import mechanize |
![]() |
![]() |
![]() |
#13 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
jedna slika govori vise od hiljadu reci
![]() https://dl.dropbox.com/u/40497194/terminal.jpg meni je skripta u /home/milos/uploader da ne treba da je postavim u /usr/lib/tamo/negde ??? kako da namestim SYSPATH i da li od te varijable mozda zavisi izvrsavanje python skripti? |
![]() |
![]() |
![]() |
#14 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
A kakav je to direktorijum mechanize? Svi moduli treba da budu instalirani u /usr/lib/python2.7/site-packages/
Još jednom, mechanize nije dobro instaliran. Verujem da si čitao zvanično uputstvo, kao i ovu SO temu. Vidim da ga ima i u repozitorijumima za Ubuntu, zove se python-mechanize. |
![]() |
![]() |
![]() |
#15 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
ma taj folder je samo kopija, postoji lepo u site-packages taj mechanize
apsolutno sam bas tu SO temu i sledio, a onda sam instalirao i iz repo-a upravo taj paket python-mechanize... i opet ista poruka... kad posle silnih raznih instalacija pokrenem "python setup.py" dobijem poruku da zlib nije instaliran, pored milion drugih poruka, i zlib sam instalirao na sto nacina... |
![]() |
![]() |
![]() |
#16 | |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
a da nije ovo?!?
Citat:
|
|
![]() |
![]() |
![]() |
#17 |
Starosedelac
Član od: 15.6.2007.
Lokacija: Amsterdam
Poruke: 1.817
Zahvalnice: 463
Zahvaljeno 310 puta na 230 poruka
|
![]()
Taj __init__.py fajl je prazan fajl, samo ga napravi. Međutim, skloni taj mechanize direktorijum što kažeš da je kopija - možda smeta.
|
![]() |
![]() |
![]() |
#18 |
Član
Član od: 14.12.2011.
Poruke: 57
Zahvalnice: 3
Zahvaljeno 3 puta na 2 poruka
|
![]()
Neky,
najlepse hvala na zalaganju i zelji za pomoci, ali ovaj python me izludjuje, sva sreca pa nisam programirao nista u njemu ![]() posle visednevne frutracije odustao sam i namestio bash uploader koristeci ovu skriptu https://github.com/andreafabrizi/Dropbox-Uploader setup je prilicno jasan i jednostavan, samo je potrebno autorizovati skriptu na dropbox nalogu, u CLI-ju cak ima i wizard koji prati instalaciju, tako da je sve ocas posla. uspeo sam da namestim uploader! jos jednom, hvala puno. |
![]() |
![]() |
![]() |
Bookmarks sajtovi |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Stari laptop kao server. Koji distro odabrati? | doctor | Slobodni softver | 17 | 29.7.2012 23:33 |
Windows 7 - Build 7600+ (RTM) | oluja | Operativni sistemi | 1204 | 22.10.2009 20:37 |
Announcing Ubuntu 10.04 LTS: The Lucid Lynx | DobroslaV | Slobodni softver | 8 | 29.9.2009 16:33 |
Ubuntu vodič za preživljavanje (posle instalacije) | laikexpert | Slobodni softver | 0 | 26.12.2008 11:18 |
Ubuntu Ultimate Edition | noisy | Slobodni softver | 34 | 13.2.2008 1:05 |