RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Jag har problem med att regelbundet ladda upp en bildfil med hjälp av ett Cronjob och ncftpput.

Från början hade jag mycket problem med rättigheter men tillslut ordnade det sig.

När jag i det läget att filen graph_temp.png laddas upp till webhotellet. Men filen innehåller ingenting.
kollar jag på webhotellet så finns filen där men den innehåller inga bytes och pekar jag webläsaren på filen så är det bara vitt. Inget 404 eller annat felmeddelande bara vitt.

Tittar jag dock lokalt på filen på Raspberryn så är det en fin graf.

Jag vet att det är mycket information här som jag inte skrivit om, det kan jag återkomma med om någon är intresserad. Detta var först och främst tänkt som en fråga om någon känner igen problemet att Ftpade bildfiler blir tomma/blanka.

MVH Peter
Nerre
Inlägg: 27184
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av Nerre »

Går det att få nån loggfil från ncftpput? Loggfil från webhotellet?
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av hanzibal »

Filen tycks åtminstone skapas på servern (webbhotellet), så långt väl alltså.

Är filen tom (storlek noll bytes) eller är storleken rätt men innehållet fel?

Du kan ju testa att med en vanlig webbläsare på tex PC att ladda ned bilden från servern och spara den på på disk. Jämför filstorlek med originalet och öppna sedan filen i Notepad, hex editor eller liknande för att se så hur datat ser ut - bara nollor eller skräp?

Kan ju vara så att ftp servern tillåter dig att skapa filer men inte att skriva till dem.

Förr när jag höll på med Ftp var man tvungen att försätta ftp servern i binärläge med "bin" före put, annars tolkades datat som ASCII text varvid ju nollor (eller om det är 255) innebar EOF (filslut) vilket avslutade överföringen. Kanske finns någon dylik inställning (switch) i ncftpput.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Här är koden som scriptet kör.

Kod: Markera allt

ncftpput -u MittAnvändarnamn -p MittLösenord MinDomän -d /home/pi/scripts/debuglog.txt binary /var/www/ /var/www/graph_temp.png
Scriptet körs och datumstämpeln på den tomma bildfilen på webbhotellet uppdateras varannan minut, helt enligt vad jag vill.

Om jag har förstått manualen rätt så betyder -d /home/pi/scripts/debuglog.txt att det ska loggas lite debugging info i den nämnda filen men det kommer inte in någon text där öht.

Testade att ladda hem .png filen och den verkar vara precis helt tom, ingen rappakalja eller massa nollor utan helt tom.

ncftpput ska vara skicka filerna binärt som standard. Man ska lägga till -a för att det ska skickas som ascii.

Jag vet fasen inte var jag ska fortsätta att leta lösningar.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av hanzibal »

Du nämnde behörighetsproblem - har du behörighet att skriva också, alltså inte bara att skapa filer?
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Du menar på servern?

Jo, det är ett webbhotell som jag använt i en herrans massa år, jag har bara en inloggning till och det har alltid gått smärtfritt. Så där har jag behörighet.

Behörighetsproblemen har varit inom Raspberry Pin. Jag är ny på Linux och så. Det var behörighets problem när Cronjob som ägdes av en användare skulle skriva till en mapp som krävde root rättigheter.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av sodjan »

Fungerar det med en annan fil, typ en vanlig textfil?
Vad betyder "binary" ??
Vad ger ncftpput för returnkod?
Nerre
Inlägg: 27184
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av Nerre »

Har du nån på webhotellet som läser filen? Det kan vara att nåt på webhotellet "låser" filen för skrivning direkt när den har skapats.

Det finns ett par växlar -T och -S som gör att filen laddas upp med ett temporärt namn (välj ett prefix eller suffix, jag skulle testa "-S partial") och sen döps om.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av hanzibal »

PopUnoNkoK skrev:Du menar på servern?

Jo, det är ett webbhotell som jag använt i en herrans massa år, jag har bara en inloggning till och det har alltid gått smärtfritt. Så där har jag behörighet.
Ja, på servern menade jag men nu förstår jag att du tidigare verifierat att du kan ladda upp filer med en ftp-klient från tex PC till samma konto på servern och att det fungerar?

Kan ju fortfarande vara så dumt att cron jobbets användare på RPi av ngn anledning inte kan/får läsa filen som skall laddas upp och att det är därför som filen endast skapas på servern och sedan inte fylls med data.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Sodjan:
Binary är enligt ncftp manualen ett sätt att låsa filöverföringen till binär överföring istället för Ascii, dock står det i manualen att Binärt är är default så jag har testat både med och utan den delen av kommandot.

Om det går med en annan fil måste jag testa när jag kommer hem. Det vet jag att det har gjort tidigare med ncftp från en annan RaspPi, då var det en .CSV fil. Men det var en bra ide att testa i detta fall. Återkommer med svar.

Vart hittar jag någon returkod från ncftp? Jag testade som jag skrev i tidigare inlägg att använda en debugg-fil men jag fick inte någon text i den.


Nerre:
Vet inte riktigt vad du menar med
Har du nån på webhotellet som läser filen?
. Jag har fört över massor med filer med denna inloggning tidigare via annan FTPklient på Mac och även med ncftpput.

Ska testa med ett Suffix, återkommer med svar.
Nerre
Inlägg: 27184
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av Nerre »

Om ett program på webhotellet läser filen (ex. webbserver om du har en webbsida som visar bilden) så är den kanske inte skrivbar längre. När du laddar upp en fil sker det i steg:

1. En tom fil skapas
2. Data skickas i block och skrivs ner i filen

Mellan 1 och 2 finns risken att nåt program "låser" filen.

Om man använder -T eller -S så blir det följande steg:

1. En tom fil med temporärt namn skapas
2. Data skickas i block och skrivs till filen
3. Filen döps om till sitt slutliga namn

Eftersom en eventuell webbsida som visar bilden länkar till det slutliga filnamnet så kan inte den "låsa" filen förrän efter omdöpningen.
Mr Andersson
Inlägg: 1409
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av Mr Andersson »

PopUnoNkoK skrev:Här är koden som scriptet kör.

Kod: Markera allt

ncftpput -u MittAnvändarnamn -p MittLösenord MinDomän -d /home/pi/scripts/debuglog.txt binary /var/www/ /var/www/graph_temp.png
http://www.ncftp.com/ncftp/doc/ncftpput.html
syntax är

Kod: Markera allt

ncftpput [options] remote-host remote-directory local-files...
Du försöker ladda upp /var/www/ och /var/www/graph_temp.png till en katalog som heter binary.
Om det verkligen ska vara så och det inte är en felskrivning så måste du ha -R för att ladda upp www-katalogen. Dessutom ska -d argumentet komma före MinDomän.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Nerre:
Låter lovande, vi hoppas att det ger resultat.


MrAndersson:
[options]en binary hittade jag i manualen för ncftp, inte ncftpput. Jag har inte riktigt koll på om det är helt olika program eller om ncftp är programmet (Med överordnad manual) eller inte. Det var i alla fall lite så jag tänkte.
Du har säkert rätt att syntaxen var fel där, men både före och efter har jag testat ett antal olika varianter.
Binary testade jag som sagt trots att det i manualen stod att det var default.
Däremot så låter det du säger om att -d argumentet ska komma före MinDomän riktigt intressant. I alla fall i felsökningssyfte.


Att sökvägen nu när jag tagit bort binary är rätt är jag ganska säker på eftersom att det ser ut så här i FileZilla.

Kod: Markera allt

Filename		Filesize	Last modifyed
graph_temp.png		0		2014-10-08 10:40:00
Alltså att filen uppdaterades för ett par minuter sedan.

Tack för all hjälp
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av PopUnoNkoK »

Nerre:
Följdfråga. Menar du alltså om en webbläsare ligger och försöker komma åt filen hela tiden så kan den "låsas" direkt den kommer upp på servern, innan den hunnit fyllas med någon data?

Igår när jag höll på och felsöka så är jag ganska säker på att jag hade Chrome uppe hela tiden med sökvägen inskriven och bara testade uppdatera med jämna mellanrum.
Och det konstiga är att jag är ganska säker på att man såg på fliken i chrome att det laddade hela tiden. Alltså att det snurrade hela tiden på fliken trots att det var länge sedan jag tryckte uppdatera. Kan det vara så att den fliken är uppe på en dator hemma och ligger och låser filen hela tiden?`

Nu när jag tittar så ser jag att det är lika dant för mig på ncftpput manualen. Att den laddar hela tiden trots att sidan ser färdigladdad ut för tiotals minuter sedan. Det står Väntar på plus.google.com längst ner. Och "hjulet" på själva fliken snurrar hela tiden.


Kan detta vara problemet?
Nerre
Inlägg: 27184
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: RaspberryPi FTP - ncftpput laddar upp "tom" bildfil.

Inlägg av Nerre »

Ja, det är så jag menar, men det behöver ju inte vara webbservern. Jag tror inte att webbservern brukar låsa filer så de inte kan skrivas. Men det skadar ju inte att börja med att se till att filen laddas upp som den ska (byt namn så inget försöker läsa den?).
Skriv svar