![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| sed - søger efter strengen og lagring i variablen | melias | Shell Programmering og Scripting | 4 | 04-12-2008 02:57 PM |
| Problem under lagring af SQL forespørgsel værdi i en variabel | krishna_gnv | Shell Programmering og Scripting | 1 | 02-28-2008 07:37 AM |
| Lagring af output i en variabel | ravi raj kumar | UNIX for dummyer Spørgsmål & svar | 7 | 12-11-2006 09:14 AM |
| opbevaring af produktionen af awk i variablen | mab_arif16 | Shell Programmering og Scripting | 3 | 05-07-2006 06:15 PM |
| Lagring af værdier i variablen | matrixmadhan | Shell Programmering og Scripting | 1 | 04-01-2005 01:56 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Lagring af en variabel?
Jeg skriver et bash shell script til backup flere MySQL databaser. Dette script kan køre på en daglig basis, og sender en kopi til en ekstern FTP-arkiv. Filnavne er i formatet DATE.backup.sql. Hvordan kan jeg gemme DATO variabel, så jeg kan slette / flytte / etc filen på FTP-server, næste gang scriptet kører?
Code:
#!/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 Tak! Senest redigeret af hoover90; 01-26-2008 kl 07:19 PM.. |
|
||||
|
På toppen af scriptet:
læs sidstedato <. last_date I løbet af FTP-session: del $ LASTDATE.backup.sql.enc.gz Efter den FTP-session: echo $ DATE>. last_date Selvfølgelig skal du nogle betinget logik der for at beskæftige sig med. Last_date ikke eksisterende ... du kan skabe den første. last_date fil manuelt selv. Hvis du har brug for hjælp med at så lad os det vide. |
|
||||
|
Okay, alt det, du foreslog anlæg undtagen for at skrive $ date til. Last_date. Fra bash, kan jeg bruge den samme kommando format (erstatter $ date med $ (date +% d% b% y_% k.% M.% S), eller blot echo "asdfqwer1234blahblah">. Last_date), men det vil ikke skrive $ DATE til. last_date når scriptet køres.
Code:
#!/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 er fordi du læser. Last_date fra din aktuelle arbejdsmappe, derefter skifte til / web / .hhome / mysql.backup / data, før der skrives ud af den variable.
Jeg kan gætte, hvis du tjekker / web / .hhome / mysql.backup / data / .last_date det vil være der. Jeg ville flytte "læse sidstedato <. Last_date" til efter cd / web / .hhome / mysql.backup / data. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|