Δημοσιεύτηκε: 18 Ιούλ 2012, 22:06
από medigeek
Ίσως θέλει bash αντί sh. Εκανα ακόμη μερικές αλλαγές, οπόταν δοκίμασε αυτό:
Θυμήσου να αλλάξεις το "myname" στο /home/myname/Output/zipped και στο /home/myname/Input/Vol*/*

Κώδικας: Επιλογή όλων
#!/bin/bash
DST_DIR=/home/myname/Output/zipped
SRC_DIR=/home/myname/Input/Vol*/*
VERSION_FILE=version.txt
DT=`date +%Y%m%d%H`

for d in $SRC_DIR; do
cd $d
if [ -e $VERSION_FILE ]; then
version=`cat $VERSION_FILE`
if [ "$version" != "" ]; then
for f in `find . -path "*_v${version}"`; do
dirpath=`echo $d | rev | cut -d / -f1,2 | rev | sed 's/\//-/'`
cleanname=`echo $f | cut -d / -f 2 | cut -d _ -f 1`
echo "Will execute: tar czvpf $DST_DIR/Proc_Sat-1-${DT}-S515-V${version}-OUNCL-P${dirpath}-${cleanname}.tgz $f"
echo "Checking if files/folders exist - ls output"
ls -ld $f
tar czvpf $DST_DIR/Proc_Sat-1-${DT}-S515-V${version}-OUNCL-P${dirpath}-${cleanname}.tgz $f
echo "Checking if tgz file was created - ls output"
ls -ld $DST_DIR/Proc_Sat-1-${DT}-S515-V${version}-OUNCL-P${dirpath}-${cleanname}.tgz
if [ $? -ne 0 ]; then
echo "error in backup" # add better error handling here
fi
done
fi
fi
done


Δώσε το αποτέλεσμα της εκτέλεσης του script από το τερματικό -- το λεκτικό/περιγραφικό αποτέλεσμα "Δεν δουλεύει" δεν με βοηθάει να βρω το πρόβλημα δυστυχώς.