Avatar billede dragonbook Nybegynder
11. juli 2007 - 20:11 Der er 20 kommentarer og
1 løsning

UNIX path problem ved backup script

Hej

Jeg har hentet et script der skal benyttes til at lave backup af min hjemmeside...

Scriptet kan hentes her:
http://omicronlab.com/forum/Backup-your-whole-website-in-zip-format-get-it-via-mailand33-t850.html

Mit problem starter ret tideligt hvor jeg skal angive stien til mine foldere, som standart står der:

// ******************************
// setup variables, edit below
// ******************************

$path = '/home/username/public_html';// Which directory to backup? Don't add trailing slash

$zipfile = 'backup';// backup file name (DON'T INCLUDE ZIP EXTENTION, GMAIL MAY DELETE IT IF EXE INSIDE)

//Important: Select an empty directory here for $zippath
//The script will DELETE EVERY CONTENT of this directory before proceeding
$zippath = '/home/username/filesender/tmp';// path to temporarily save backup file



Min hjemmeside ligger hos one.com hvor der benyttes: /customers/ditdomæne/ditdomæne/httpd.www i stedet for /home/username/public_html..

Når jeg så køre filen får jeg følgende fejl:

Server failed to zip /customers/ditdomæne/ditdomæne/httpd.www!

Hint: Make sure /customers/ditdomæne/ditdomæne/httpd.www/Test/Backup/tmp directory is CHOMD 777 and /customers/ditdomæne/ditdomæne/httpd.www path exists.
Quiting... :(

tmp er CHOMD 777 og mapperne eksistere...


Er der nogen der kan gennemskue hvad der sker?

Der står at scriptet kræver en linux server, min ligger på en UNIX server. Er det det samme?

PS: jeg har skiftet ditdomæne ud med mit domænenavn...
Avatar billede jakobdo Ekspert
11. juli 2007 - 20:36 #1
Linux/Unix er i bund og grund det samme ja.

Du kan få din korrekte sti til mappen, ved at kalde:

echo getcwd();

Prøv at opret backup mappen og opret ligeledes tmp mappe i backup mappen og chmod tmp mappen til 777.

Kommer du så længere med din kode?
Avatar billede dragonbook Nybegynder
11. juli 2007 - 20:40 #2
Nej echo getcwd(); giver mig netop /customers/ditdomæne/ditdomæne/httpd.www

og mappen tmp er chmod 777
Avatar billede jakobdo Ekspert
11. juli 2007 - 20:46 #3
Så du har oprettet Backup og mappen tmp, samt chmod'et den til 777.
Hvor kommer Test fra?
Hint: Make sure /customers/ditdomæne/ditdomæne/httpd.www/Test/Backup/tmp
Avatar billede dragonbook Nybegynder
11. juli 2007 - 20:52 #4
Ups... det ser sådan ud:

$path = '/customers/ditdomæne/ditdomæne/httpd.www/Test/Backup/Backup_file'; <-- Mappe der skal laves backup af

$zippath = '/customers/ditdomæne/ditdomæne/httpd.www/Test/Backup/tmp'; <-- chmod 777

Mappen Test er bare en mappe jeg har oprettet... Har prøvet ude i roden men det hjalp ikke...
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:10 #5
Jeg sidder selv og leger med scriptet, og det er denne linie som fejler:

passthru("nice -n 16 zip -q -r $zipname $path ");

Og så fejler den i tjekket:
if (file_exists($zipname)==false)
{
    exit("<h4><center><font color=\"#FF0000\">Server failed to zip $path! <br><br>Hint: Make sure $zippath directory is CHOMD 777 and $path path exists.<br>Quiting... :( </font></center></h4>") ;
}
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:16 #6
Min kode fejler faktisk på zip kommandoen.
zip er ikke på min server.
Er du sikker på zip er på den server du tester dit script på?
Avatar billede dragonbook Nybegynder
11. juli 2007 - 21:24 #7
Ja det er der... kan man rette fejlen du nævner?
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:29 #8
Hvilken fejl henviser du til nu?
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:31 #9
Har du egen server?
Hvis ja, prøv at udskriv: $path og $zipname

Og skyd denne kommando af på din server:
nice -n 16 zip -q -r $zipname $path
$zipname skal jo så være: /customer/ditdomæne/osv...
$path skal jo så være: /customers/ditdomæne/osv...
Avatar billede dragonbook Nybegynder
11. juli 2007 - 21:37 #10
Nej jeg er hosted ved one.com (tidligere bone)
Avatar billede jakobdo Ekspert
11. juli 2007 - 21:53 #11
Men er du overhovedet sikker på de har zip så?
Og er du sikker på du får lov at afvikler kommandoer som der jo er en del af i scriptet?
Jeg tror du skal starte med at spørge deres support, som zip er på deres server og om du kan eksekvere kommandoer på deres server.
Avatar billede dragonbook Nybegynder
11. juli 2007 - 22:07 #12
Hmmm har haft forskellige script på siden som lavede zip filer unden problemer, derfor går jeg ud fra den kan...
Avatar billede jakobdo Ekspert
12. juli 2007 - 08:25 #13
Fik lige set følgende under passthru()

Remember to use the full path (IE '/usr/local/bin/foo' instead of 'foo') when using passthru, otherwise you'll get an exit code of 127 (command not found).

Kan du finde den fulde sti til zip?
Avatar billede dragonbook Nybegynder
12. juli 2007 - 08:54 #14
Hmmmm det er jeg ikke helt sikker på jeg kan... Det er zlib vi snakker om ikke... for det er det der er installeret.
Avatar billede jakobdo Ekspert
12. juli 2007 - 09:23 #15
I kommandoen her: passthru("nice -n 16 zip -q -r $zipname $path ");
Der kaldes ZIP.
Ergo skal der være et program, som hedder zip på serveren.
Avatar billede dragonbook Nybegynder
12. juli 2007 - 09:29 #16
Hmmm er der overhovedet et "program" til php der kun hedder zip? jeg kan ikke finde en...
Avatar billede jakobdo Ekspert
12. juli 2007 - 09:39 #17
Nej, det er ikke php.
Det er et program som skal være på serveren.
Ligesom du f.eks. i windows kan skrive:

cmd så starter en command prompt.
calc så stater lommeregneren.
osv...
Avatar billede dragonbook Nybegynder
13. juli 2007 - 08:29 #18
Ok, jeg er begyndt at lave scriptet fra grunden selv... Benytter i denne zlib og det virker fint...

Mange tak for hjælpen, smid lige et svar hvis du vil havde point...
Avatar billede dragonbook Nybegynder
13. juli 2007 - 08:30 #19
Jeg er dog stødt på et andet problem som du måske kan løse --> http://www.eksperten.dk/spm/787323
Avatar billede jakobdo Ekspert
13. juli 2007 - 08:52 #20
Svar!
Avatar billede jakobdo Ekspert
13. juli 2007 - 10:06 #21
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester