Fórum Root.cz
Hlavní témata => Software => Téma založeno: niekto 19. 06. 2018, 21:28:50
-
Prosim, nejake rady ako by ste vy riesili takuto situaciu? Mam jednu URL adresu s PDF suborom, ktory sa kazdy den aktualizuje (ale archiv tam neexistuje). Chcel by som si uchovavat aj starsie verzie, takze ma napada nejake automatizovane stahovanie (wget?) s tym, ze by sa toto PDFko do ukladalo do nejakej zlozky tak, ze v nazve suboru bude datum a cas v momente stiahnutia. Da sa to cez cron alebo existuje nejaky program na to? Idealne terminalovy. Dik za tipy.
-
Do cronu:
wget http://www.africau.edu/images/default/sample.pdf --output-document=/home/foo/document_`date +%Y-%m-%d_%H:%M:%S`.pdf
Datum se dá přeformátovat dle libosti.
-
Přes cron, a jméno souboru pomocí programu `date`. Doporučuju tím cronem spouště script až ve kterém bude to vlastní ukládání.
-
Doporučil bych nepoužívat v názvech souborů dvojtečky, nemají s tím problém jen Windows, ale někde se to escapuje a někde ne a pak je z toho člověk zoufalý.
-
Do cronu:
wget http://www.africau.edu/images/default/sample.pdf --output-document=/home/foo/document_`date +%Y-%m-%d_%H:%M:%S`.pdf
Datum se dá přeformátovat dle libosti.
Toto fungovat nebude. Znak '%' ma v crontable specialni vyznam, je nutne ho vyescapovat pomoci '\'.
-
Dakujem
-
Ja jsem to uz parkrat resil a delam to takto (bash skript, ktery das do cronu):
#!/bin/bash
## Stahnes do slozky, kde si nadefinujes cestu:
mkdir -p /slozka pro soubory s celou cestou/
cd /slozka pro soubory s celou cestou/
wget --user-agent="Mozilla/45.0" "http://www.africau.edu/images/default/sample.pdf"
## Prejmenujes dle data, format YYYYMMDD :
for FILE in sample* ; do PROMENA=$(stat -c %y $FILE | sed 's/\([^-]*\)-\([^-]*\)-\([0-9]*\) \([^:]*\).*/\1\2\3/'); mv $FILE KazdodenniPDF_$PROMENA.pdf; done
## Pokud se soubor meni vickrat za den, prejmenujes tak aby v nazvu byla i hodina:
## for FILE in sample* ; do PROMENA=$(stat -c %y $FILE | sed 's/\([^-]*\)-\([^-]*\)-\([0-9]*\) \([^:]*\).*/\1\2\3\4/'); mv $FILE KazdodenniPDF_$PROMENA.pdf; done
Nove jmeno soubory vcetne datumu nesmi zacinat sample, jinak ti to bude pokazde prejmenovavat vse.
Nic se nejspis nestane, je to ale prace navic (po par letech dost prace navic a taky vyssi riziko chyby).
Datum souboru muze byt podle data, kdy byl ulozen na server, pokud ma timestamp, jinak je to cas ve tvem PC, kdy byl soubor stahnut.
Pokud jsou v nazvu specialni nealfanumericke znaky, bude se muset prejmenovani trochu upravit.