2010-11-18 51 views
0

Ok, donc je sais que je peux utiliser:Utiliser wget et pour télécharger des pages Web Cron

wget -r <website> > <file> 

pour obtenir une page Web et enregistrez-le. Ma question est de savoir comment j'utiliserais cron et wget pour obtenir une page Web sur une base horaire ou même minute, puis les enregistrer dans un dossier, compresser et compresser, puis continuer à y ajouter pour une révision à une date ultérieure. . Je sais que je peux le faire manuellement, mon but est de le télécharger en gros 10-20 minutes, pendant environ 4 heures (peu importe si ça va plus longtemps) et d'ajouter le tout dans un joli répertoire, puis zip ledit répertoire pour économiser de l'espace, et les vérifier plus tard dans la journée.

+0

Pouvez-vous expliquer un peu plus sur ce qui est le résultat final? Tout d'abord, '-r' implique que vous voulez enregistrer plus d'une page - est-ce ce que vous voulez ou non? Si oui, vous ne devriez pas dire "page web", mais "page web ** s **", juste pour être clair. Je vais supposer une page. Donc, vous téléchargez une page à, disons, 10h, 11h et 12h - que voulez-vous avoir - un ensemble de fichiers ('wp-10am.htm',' wp-11am.htm', 'wp-12pm.htm') ou autre chose? –

+0

Quelque chose, je bricolais surtout avec wget pour la première fois, autre que de saisir quelques fichiers rapides. –

+0

Principalement ce que je veux faire, est de prendre une page Web sur une base régulière, et enregistrez-le en tant qu'index. .htm dans ~/web_logs/que je vais ensuite zip –

Répondre

2

Pour modifier la table Cron

crontab -e 

Vous pouvez ajouter une entrée comme celle

0,20,40 * * * * wget URL ~/files/file-`date > '+%m%d%y%H%M'`.html & 

Pour télécharger/enregistrer le fichier toutes les 20 minutes.

Ici, il est un small reference sur les expressions crontab de sorte que vous pouvez ajuster les valeurs

Tar les fichiers automatiquement le crontab serait un peu complexe:

0,20,40 * * * * wget URL > ~/files`date '+%m%d%y'`/file-`date '+%H%M'`.html & 
* 12 * * *  tar cvf ~/archive-`date '+%m%d%y'`.tar ~/files`date '+%m%d%y'` 

Cela le ferait à midi, si vous Je veux le faire à mifnight c'est plus complexe parce que vous avez besoin de TAR la veille mais je pense que vous aurez l'idée.

+1

N'a pas remarqué avant, mais c'est en fait 0,20,40 * * * * wget URL> ~/fichiers/fichier-'date '+% m% d% y% H% M''.html & Manqué le>, se demandait pourquoi ça ne fonctionnait pas: P –

1

ou sans Cron:

for i in `seq 1 10`; do wget -r http://google.de -P $(date +%k_%M) && sleep 600; done 

10 fois, toutes les 10 minutes

EDIT: Utilisez zip comme ce

zip foo.zip file1 file2 allfile*.html