Pinky skrev:Tack, nu begriper jag lite bättre

Ska testa detta imorgon, då jag måste iväg nu.
Hör av mig och berättar hur det går!
Mvh
Martin
[root@localhost ~]# ./pinky.sh
Extract old archive that needs filechange
./
./mnt/
./mnt/disk1/
./mnt/disk1/jboss-3.0.6/
./mnt/disk1/jboss-3.0.6/server/
./mnt/disk1/jboss-3.0.6/server/default/
./mnt/disk1/jboss-3.0.6/server/default/deploy/
./mnt/disk1/jboss-3.0.6/server/default/deploy/deploy-20030106_1600.ear
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil2
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil3-new
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil4
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil1
Repack the archive with the new file in place
./
./mnt/
./mnt/disk1/
./mnt/disk1/jboss-3.0.6/
./mnt/disk1/jboss-3.0.6/server/
./mnt/disk1/jboss-3.0.6/server/default/
./mnt/disk1/jboss-3.0.6/server/default/deploy/
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil2
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil3-new
./mnt/disk1/jboss-3.0.6/server/default/deploy/deploy-20030106_1700.ear
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil4
./mnt/disk1/jboss-3.0.6/server/default/deploy/fil1
Om du kan ändra backupscriptet till "tar -xzvf deploy.tar.gz -C /" så kommer detta scriptet funka finemang
Testat detta ett par gånger, och det funkar utmärkt. Det slutgiltiga scriptet blev:
Kod: Markera allt
#!/bin/bash
code=/root/pinky/
rm -rf /tmp/Deployment >/dev/null 2>&1
mkdir -p /tmp/Deployment/mnt/disk1/jboss-3.0.6/server/default/deploy/
echo "Extract old archive that needs filechange"
tar xzvf /root/deploy.tar.gz -C /tmp/Deployment
rm -rf deploy.tar.gz
rm -rf /tmp/Deployment/mnt/disk1/jboss-3.0.6/server/default/deploy/deploy-*.ear
cp -rf $code/* /tmp/Deployment/mnt/disk1/jboss-3.0.6/server/default/deploy/
echo "Repack the archive with the new file in place"
cd /tmp/Deployment
tar cvf - . | gzip -9c > /root/deploy.tar.gz
Du kan nog trycka ner det lite om du vill
Step by step:
1. --
2. Fast definierad mapp som innehåller nya deploy-*.ear
3. Ta bort gamla "fusk"-strukturen i /tmp
4. Återskapa "fusk"-strukturen
5. --
6. Packa upp det gamla arkivet som behöver deploy-*.ear filen ersatt
7. Ta bort det gamla arkivet (kan nog skippas, men orkade inte testa)
8. Ta bort den gamla deploy-*.ear filen
9. kopiera in den nya deploy-*.ear filen (körde wildvard på den i mitt test)
10. --
11. Byt mapp till "fusk"-strukturen i /tmp (denna kanske kan bytas ut eller tas bort om man kommer på en bra smart lösning på nästa rad)
12. Packa ihop en ny deploy.tar.gz fil med utbytt deploy-*.ear
Inte världens mest eleganta lösning, men i brist på en bra oneliner så funkar detta scriptet utmärkt, och går att bygga ut med
