Tux L i n u x * G u i d e

v o n * I n g o * B l e c h s c h m i d t * ( c ) * 2 0 0 1
Tux
|Home|

|Neue Artikel|

|Index|

|Liste|

|Code-Snippets|

|Links|

|Allgemeines|

|Cool Stuff|
Internet on a floppy
Die Jul 31 13:08:51 MEST 2000
Internet floppy überformatiert Diskette wget quota while du

Sie haben zwei Computer, einen mit und einen ohne Internet-Anschluss, und wollen einige Webseiten auf Diskette kopieren. get_inet.sh hilft dabei.

LinuxGuide Druckbare Version
Man-Page
Sourcecode
Verwandte Artikel:

Linux aus der Hosentasche
Disketten hochformatieren
Ihr Computer als öffentliches Terminal
Ins Internet komfortabel einwählen
Webschnapper in Shell-Skript
Linux aus der Hosentasche, Teil II
Webschnapper (2) in Shell-Skript
Hitchhiker's Guide to the Internet



      .~.   
      /V\   
     // \\  
    /(   )\ 
     ^`~'^  
     


Hosted at Sorceforge.net
No ePATENTS
Viewable With Any Browser
Burn All GIFs!

D
as Skript, Download:
# get_inet.sh
 
#!/bin/bash$
$
# get_inet.sh - Holt Webseiten aus dem Internet und speichert sie auf Diskette.$
# Copyright (C) Mon Jul 30 20:53:44 MEST 2001 by Ingo Blechschmidt$
#$
#  This program is free software; you can redistribute it and/or modify$
#  it under the terms of the GNU General Public License as published by$
#  the Free Software Foundation; either version 2 of the License, or$
#  (at your option) any later version.$
#$
#  This program is distributed in the hope that it will be useful,$
#  but WITHOUT ANY WARRANTY; without even the implied warranty of$
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the$
#  GNU General Public License for more details.$
#$
#  You should have received a copy of the GNU General Public License$
#  along with this program; if not, write to the Free Software$
#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.$
#$
# Ingo Blechschmidt$
# Arberstraße 5$
# 86179 Augsburg$
# E-Mail: iblech@web.de, http://www.way.to/uselinux/$
# Tel.: +49 / 821 882955$
#$
# $
$
echo get_inet.sh - Holt Webseiten aus dem Internet und speichert sie auf Diskette.$
echo Copyright '(C)' Mon Jul 30 20:53:44 MEST 2001 by Ingo Blechschmidt$
echo$
echo  This program is free software\; you can redistribute it and/or modify$
echo  it under the terms of the GNU General Public License as published by$
echo  the Free Software Foundation\; either version 2 of the License, or$
echo  '(at your option)' any later version.$
echo$
echo  This program is distributed in the hope that it will be useful,$
echo  but WITHOUT ANY WARRANTY\; without even the implied warranty of$
echo  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the$
echo  GNU General Public License for more details.$
echo$
echo  You should have received a copy of the GNU General Public License$
echo  along with this program\; if not, write to the Free Software$
echo  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.$
echo$
echo Ingo Blechschmidt$
echo Arberstraße 5$
echo 86179 Augsburg$
echo E-Mail: iblech@web.de, http://www.way.to/uselinux/$
echo$
echo $
$
$
WEBSITES="http://gnome.org/todo http://sources.redhat.com/gsl$
http://www.linux-magazin.de/ausgabe/1998/08/Pouder/pouder.html$
http://www.gnu.org/manual/make/html_chapter/make_toc.html$
http://www.gnu.org/manual/sharutils-4.2/html_chapter/sharutils_toc.html"$
						# List of websites to get,$
						# whitespace separated.$
# my datas:$
# COMP_RATE="11"				# Compression rate of tar.bz2.$
# MAX_SIZE="1722"				# Maximum space of a$
#						# "over-formatted" floppy.$
SIZE_PER_SITE="150"				# Size per site, in kb.$
$
[ -e /tmp/get_inet ] || mkdir /tmp/get_inet/	# Crating temporary directory.$
cd /tmp/get_inet/$
$
						# start of the request loop,$
						# get files until a$
						# over-formatted floppy is$
						# full.$
while$
  [ "$[`du -skc /tmp/get_inet/ | tail -n 1 | gawk '{ print $1; }'`<1500]" = "1" ]$
do$
  for i in $WEBSITES; do			# for-loop.$
    echo ">> $0: Getting $i..."$
    						# Getting the files, except$
  						# image-, video- and$
  						# sound-files.$
    HOST=`echo $i | gawk -F / '{ print $3; }'`  # Host-limitation.$
    wget -nv -k -nc -D $HOST -c -r -Q ${SIZE_PER_SITE}k -R "jpeg,jpg,gif,png,avi,mpg,wav,mp3" $i$
  done$
done$
$
mount /mnt2					# Mounting the floppy,$
						# /dev/fd0u1722.$
						# Saving and compressing the$
						# web.$
# mount -t ext2 /dev/fd0u1722 /mnt2$
$
echo "Packe..."$
$
tar cvvvIf /mnt2/maze/get_inet.tar.bz2 /tmp/get_inet/ && rm -r /tmp/get_inet/$
umount /mnt2 &					# U-mounting the floppy, as a$
						# background job (the &),$
						# therewith the next line is$
						# being started immediate.$
# rm -r /tmp/get_inet$
 
 

  1. Dokumentation zu get_inet.sh
    1. Einleitung
      get_inet.sh lädt Webseiten aus dem Internet auf die Diskette, mit tar.bz2 komprimiert. Damit passen ca. 5 MB HTML-Dateien auf eine überformatierte Diskette.
      get_inet.sh funktioniert voll automatisch, d.h. es lädt die Dateien herunter, komprimiert sie und speichert sie auf einer überformatierten Diskette ohne weitere Benutzereingaben zu fordern.
    2. Abhängigkeiten
      Damit get_inet.sh funktioniert, müssen folgende Programme installiert sein:
      1. bash - Bourne Again SHell, auf jeder Linux-Distribution zu finden,
      2. du - Disk Usage, ebenfalls auf jeder Distribution vorhanden, und
      3. wget - WebGet, sollte auf einem Linux-System nicht fehlen, wenn doch: Unter http://www.gnu.org können Sie es herunterladen.
    3. Arbeit mit get_inet.sh
      1. Eine Diskette überformatieren
        Als erstes muss (nur einmal) eine Diskette überformatiert werden. Der Befehl (einzugeben als root) lautet:
        # Überformatieren
         
        mke2fs -c /dev/fd0u1722
         
         

        Der Mounten der Diskette erfolgt dann mit
        # Mounten
         
        mount -t ext2 /dev/fd0u1722 /mnt
         
         

        Wenn Sie des Öfteren überformatierte Disketten benutzen, empfiehlt sich folgender Eintrag in der Datei /etc/fstab (ist Vorraussezung für die Arbeit mit dem Skript):
        # /etc/fstab
         
        /dev/fd0u1722   /mnt2                     auto            noauto,user 0  0
                    
         
         

        Außerdem ist noch folgender Befehl notwendig, ebenfalls einzugeben als Superuser:
        # mkdir
         
        [ -e /mnt2 ] || mkdir /mnt2
         
         

      2. Das Skript modifizieren
        Dann muss das Skript modifiziert werden, die Webseiten müssen in die Variable WEBSITES eingetragen werden, getrennt durch einen Abstand (<Space>).
        Mehr Arbeit ist nicht notwendig.
      3. Das Skript starten
        Auf dem Rechner mit Internet muss dann nur noch das Skript gestartet werden (nach vorherigem Mounten), mit <Mountpoint der Diskette>/get_inet.sh.
    4. Arbeitsweise von get_inet.sh
      get_inet.sh lädt von einer Website immer 150 Kilobytes (zu modifizieren in der Variable SIZE_PER_SITE) aus dem Internet herunter, und fährt dann mit der nächsten Website fort. Wenn von allen Websites 150 Kilobytes heruntergeladen sind, prüft das Skript, ob noch genug Platz zur Verfügung steht (nur Schätzung), und lädt weitere 150 Kilobytes von jeder Website herunter.
      Hinweis: Zum Herunterladen der Dateien benutzt das Skript wget.

Document Informations: Content-Type: text/html; charset=iso-8859-15
Author: Ingo Blechschmidt
Description: LinuxGuide - Sie haben zwei Computer, einen mit und einen ohne Internet-Anschluss, und wollen einige Webseiten auf Diskette kopieren. get_inet.sh hilft dabei.
Keywords: Internet, floppy, überformatiert, Diskette, wget, quota, while, du, LinuxGuide
Robots: all
Copyright: Copyright (C) 2002 by Ingo Blechschmidt
Date: 2003-07-31T13:08:51+02:00

Stichwortverzeichnis | Neue Artikel | Übersicht | Codesnippets | Links | Copyright | Cool Stuff | Home | Druckbare Version | Manpage | Sourcecode |
Diesen Artikel kritisieren, kommentieren oder ergänzen
Einen Neuen Artikel schreiben

 
This website is distributed under the GNU Free Documentation License .