![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| sed - att söka efter strängen och lagring av rörliga | melias | Shell-programmering och Skript | 4 | 04-12-2008 03:57 |
| Problem lagring sql query värdet i en variabel | krishna_gnv | Shell-programmering och Skript | 1 | 02-28-2008 07:37 |
| Förvaring av produktionen i en variabel | ravi raj kumar | UNIX for Dummies Frågor & Svar | 7 | 12-11-2006 09:14 |
| lagring av produktionen av awk i variabel | mab_arif16 | Shell-programmering och Skript | 3 | 05-07-2006 07:15 |
| Förvaring av värdena i variabeln | matrixmadhan | Shell-programmering och Skript | 1 | 04-01-2005 02:56 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Förvaring av en variabel?
Jag skriver ett skript bash shell säkerhetskopiera flera MySQL databaser. Detta skript kommer att köras på en daglig basis och skicka en kopia till en FTP-arkiv. Filnamnen är i formatet DATE.backup.sql. Hur förvarar jag DATUM variabel, så jag kan ta bort / flytta / etc filen på FTP-servern nästa gång skriptet körs? Kod:
#!/bin/bash DATE=$(date +%d%b%y_%k.%M.%S) cd /web/.hhome/mysql.backup/data mysqldump -ubackup -ppassword --databases db1 db3 > $DATE.backup.sql gzip -9 $DATE.backup.sql crypt key < $DATE.backup.sql.gz > $DATE.backup.sql.enc.gz rm -rf $DATE.backup.sql.gz ftp -inv ftp.somehost.com<<ENDFTP user hoover90 password put $DATE.backup.sql.enc.gz bye ENDFTP Jag kan använda ganska mycket någon metod, men det måste ske inom detta bash-script. Tack! Senast redigerad av hoover90; 01-26-2008 at 07:19.. |
|
||||
|
Längst upp i skriptet:
Läs LASTDATE <. last_date Under FTP-session: del $ LASTDATE.backup.sql.enc.gz Efter FTP-session: echo $ DATE>. last_date Naturligtvis behöver du några villkorlig logik där för att ta itu med. Last_date inte finns ... Du kan skapa den första. last_date fil manuellt själv. Om du behöver hjälp med det också oss. |
|
||||
|
Okej, allt du föreslog fungerar utom att skriva $ DATUM till. Last_date. Från bash, kan jag använda samma kommando format (ersätter $ date med $ (date +% d% b% y_% k.% M.% S), eller bara echo "asdfqwer1234blahblah">. Last_date), men det kommer inte Skriv $ DATUM till. last_date när skriptet körs. Kod:
#!/bin/bash read LASTDATE < .last_date DATE=$(date +%d%b%y_%k.%M.%S) cd /web/.hhome/mysql.backup/data mysqldump -ubackup -ppassword --databases db1 db2 db3 > $DATE.backup.sql gzip -9 $DATE.backup.sql crypt asdfqwer1234 < $DATE.backup.sql.gz > $DATE.backup.sql.enc.gz rm -rf $DATE.backup.sql.gz ftp -inv ftp.somehost.com<<ENDFTP user hoover90 password del $LASTDATE.backup.sql.enc.gz put $DATE.backup.sql.enc.gz bye ENDFTP echo $DATE > .last_date |
|
||||
|
Det beror på att du läser. Last_date från din nuvarande arbetskatalog, sedan byta till / web / .hhome / mysql.backup / data innan du skriver ut variabeln.
Jag gissar om du kolla / web / .hhome / mysql.backup / data / .last_date det kommer att vara där. Jag skulle flytta "Läs LASTDATE <. Last_date" att efter cd / web / .hhome / mysql.backup / data. |