2010-11-18 86 views
0

好了,我知道我可以使用:使用wget和cron下载网页

wget -r <website> > <file> 

得到一个网页并保存。我的问题是,我将如何使用cron和wget以小时或甚至分钟为基础获取网页,然后将它们保存到文件夹,压缩并压缩它,然后继续添加以供日后审阅。

我知道我可以手动做到这一点,我的目标是基本上下载它10至20分钟,大约4小时(不管它是否更长),并将全部附加到一个不错的目录,然后zip所述目录节省空间,并在当天晚些时候检查它们。

+0

你能解释更多的关于什么是你的最终结果?首先,'-r'意味着你想要保存多一页 - 这是你想要或不想要的?如果是这样,你不应该说“网页”,而是“网页**”,只是要清楚。我会假设一页。所以你在上午10点,上午11点和下午12点下载一个页面 - 你想要什么 - 一组文件('wp-10am.htm','wp-11am.htm','wp-12pm.htm' ) 或者是其他东西? – 2010-11-18 01:38:26

+0

有些东西,我第一次大部分时间都是和wget混战,除了抓取一些快速文件。 – 2010-11-18 01:45:28

+0

大多数我想要做的是定期抓取网页,并将其保存为索引。

回答

2

编辑cron表

crontab -e 

您可以添加这样

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

条目下载/文件保存每隔20分钟。

这是一个small reference关于crontab的表情,所以你可以调整值

要自动压缩文件的文件crontab中,会有些复杂:

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'` 

,这将做到这一点,在中午如果你想在mifnight上做它更加复杂,因为你需要在前一天TAR,但是我认为你会明白这一点。

+1

以前没有注意到,但它实际上是 0,20,40 * * * * wget URL>〜/ files/file -'date'+%m%d%y%H%M''.html& 错过了>,想知道为什么它不工作:P – 2010-11-18 02:32:38

1

或者没有的cron:

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

10次,每次10分钟

编辑:使用拉链这样

zip foo.zip file1 file2 allfile*.html