bash fil som komprimerer filer!

bash fil som komprimerer filer!

Innleggav ticsyboy » ons 12.12.2007 16:55

Noen som vet en kode (batch) for å zippe max en fil med pkzip?

grunnen er at jeg skal vært 15 minutt zippe alle filer i en mappe med filtypen .dem til web serveren min, å så vil jeg at vær enkelt fil skal bli zippet vær for seg.

å jeg vil at filnavnet (filnavn.zip) skal være dato og klokkeslett.

MVH: Nicolas
medlem i 196 måneder
 

Re: bash fil som komprimerer filer!

Innleggav geirendre » ons 12.12.2007 21:02

Dette skriptet gjør:
1. Zipper filene i en mappe sammen til en fil.
2. Overfører filen vha. rsync til et oppgit mål (maskin eller mappe)
3. Sletter filene fra den oprinnelige mappen slik at di ikke blir med neste gang.

Trenger nok en del tilpassing og testing før det er "produksjonsklart"....
Når scriptet gjør det du ønsker, kan du bruke cron til å kjøre
scriptet automatiskt hvert kvarter om du vil.

Kode: Merk alt
#!/bin/bash -
# Beskrivelse: Zipper alle filer i mappen, sender den til
# web-serveren, og sletter unna filene lokalt.
# Dato: 12.12.2007
# Rev: 1.0


tid=`date +%F_%T`                 # Tidstempel for fil.
logfil="/var/log/zipping.log"     # Her logges det som skjer.
filmappe="/var/www/webmappe/"     # Filene i denne mappen zippes, sendes og slettes!
zipfil="/home/nicolas/www/$tid.tar.gz"   # Filene zippes til denne filen.
webserver="nicolas@192.168.0.1"   # Adressen til webserveren / mappen ev.


printf "%s Zipper filer, status     : " $tid >> $logfil
if ( tar -czf $zipfil $filmappe )         # Zipper filene
then
  printf "[OK]\n" >> $logfil
  tid=`date +%F_%T`
  printf "%s Overfører fil til server : " $tid >> $logfil
  if ( rsync -av $zipfil $webserver )     # Sender zip-filen
    then
      printf "[OK]\n" >> $logfil
      rm -rf $filmappe.*                  # Sletter gamle filer
    else
      printf "[Feilet]\n" >> $logfil
  fi
else
  printf "[Feilet]\n" >> $logfil
fi

exit 0
#END


Kansje dette kan være en start.... :-)

Erfaren
Brukerens avatar
medlem i 230 måneder
 

Re: bash fil som komprimerer filer!

Innleggav unbob » ons 12.12.2007 21:11

Mitt bidrag for zip delen:
Kode: Merk alt
# Med zip (http://www.info-zip.org/) på en *nix maskin kan dette
# være en mulig løsning. Hvordan pkzip virker aner jeg ikke.

cd "det/er/mappa/mi/"
ls *.dem > tmp
while read zipme
do
   fn=`date +%d.%m.%y-%H:%M:%S:%N`".zip"
   zip $fn $zipme
done < tmp
rm tmp

Brukerens avatar
medlem i 197 måneder
 

Re: bash fil som komprimerer filer!

Innleggav ticsyboy » ons 12.12.2007 22:20

jeg bruker windows.

slik var det gamle:

@echo off
cd C:\Program Files\Steam\steamapps\user\dedicated server\cstrike
pkzip D:\xampp\htdocs\records\records.zip *.dem
cd C:\Program Files\Steam\steamapps\user\dedicated server\cstrike
del *.dem


det eneste forskjellen er at jeg vil ha max en .dem fil i et arkiv (vist der er mange .dem filer blir det mange arkiver)
å at filnavnet i stedenfor å være records.zip til dato_og_klokkeslett.zip

MVH: Nicolas
medlem i 196 måneder
 

Re: bash fil som komprimerer filer!

Innleggav geirendre » ons 12.12.2007 22:59

Øhh. hvorfor spør du i et Linux-forum dersom du bruker Windows? o_O

Erfaren
Brukerens avatar
medlem i 230 måneder
 

Re: bash fil som komprimerer filer!

Innleggav unbob » ons 12.12.2007 23:13

Han spør i Dev1 forumet. ;)

Brukerens avatar
medlem i 197 måneder
 

Re: bash fil som komprimerer filer!

Innleggav geirendre » ons 12.12.2007 23:51

Oops..., og hvem sa at jeg ikke trenger briller... :''>
Sliter enda med det nye forum opplegget. Sorry!

Erfaren
Brukerens avatar
medlem i 230 måneder
 

Re: bash fil som komprimerer filer!

Innleggav thorak » tor 13.12.2007 8:41

vel, trådstarter spør etter bash skript, og det var strengt tatt det han fikk

Brukerens avatar
medlem i 232 måneder
 

Re: bash fil som komprimerer filer!

Innleggav ticsyboy » ons 19.12.2007 1:47

kan jeg få et ryddigere?

alla det som jeg postet?
medlem i 196 måneder
 

Re: bash fil som komprimerer filer!

Innleggav EinarJ » ons 19.12.2007 1:59

Eh, du har fått servert to meget ryddige bash-scripts nå, og det _VAR_ det du spurte etter, det første av disse er også meget godt kommentert. Så jeg skjønner ikke helt hva du fisker etter.

Ei heller skjønner jeg hva du skal med et bash-script i Windows, men det får være din sak, så lenge du mener bash og ikke batch (som er to vidt forskjellige ting).

Moderator
Brukerens avatar
medlem i 235 måneder
 


Returner til Scripting



Hvem er i Forumene

Registrerte brukere: Google [Bot]