[python] bash script do Pythonu

jenda.zakransky na gmail.com jenda.zakransky na gmail.com
Úterý Září 30 13:09:34 CEST 2014


Ahoj mam nize jednoduchy skript v bashi, ktery bych potreboval prevest do Pythonu, uz tomu venuji nejaky cas, ale proste to nejde a nejde, bylo by mozne nekoho poprosit o pomoc, moc dekuji

Cilem tohoto skriptu je prevedeni a poslani message log filu z predesleho dne z jednoho serveru na druhy, tzn. ze dnes budu prevadet full daily log z predesleho dne.

Originalni logy jsou v teto podobe ulozeny /opt/log/maillog-20140929. Tento log se diky skriptu nejdrive kopiruje prejmenovany z podoby maillog-20140929 na hostname.vcerejsidatum.gz do directory /tmp.

Odtud dochazi ke kopirovani na remote server taktez do directory /opt/log/maillog a po zkopirovani je soubor z directory /tmp smazan.

Nejvetsi problem mi dela zadani promenne, ktera ma v bashi nasledujici podobu fdate=$(date +%Y%m%d -d "-1 day") # vcerejsi datum - promenna fdate se odkazuje na vcerejsi den.

HOTOVO

#!/bin/bash

path=/opt/log #jsem tedy v directory /opt/log
fdate=$(date +%Y%m%d -d "-1 day") # vcerejsi datum
file=maillog-$fdate                          # log file ze vcerejska ktery se bude prenaset
cp $path/$file /tmp/$HOSTNAME-$file  #zkopci $file do tempu pod novym jmenem; systemova promenna $HOSTNAME obsahuje hostname, tak neni treba vytvaret novou promennou
gzip /tmp/$HOSTNAME-$file      # zabali log,

rserver=user na remoteserver.edu    # remote server
rpath=/opt/log/maillog # remote path

scp /tmp/$HOSTNAME-$file.gz $rserver:$rpath # zkopiruje na remote server do remote path

rm /tmp/$HOSTNAME-$file.gz # uklidi po sobe
#hotovo


Další informace o konferenci Python