Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [script bash] aggiungere la data formattata in una stringa

    ciao

    perdonate il titolo poco chiaro

    vorrei farmi uno script di backup x un db di mysql, allora attualmente faccio

    codice:
    backup_file=/data/backup/backup.sql
    /usr..../mysqldump -u utente --password='pwd' --all-databases > ${backup_file}
    vorrei apportare una modifica per cui il file viene creato cosi:

    backup_file=/data/backup/aaaammggbackup.sql

    ho provato una cosa tipo

    backup_file=/data/backup/${date}backup.sql

    ma non va.... suggerimenti?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    risponderei con un "man date"

    hint:

    backup_file=/data/backup/${date +%Y%m%d}backup.sql
    A forza di seguire la corrente si finisce in qualche fogna
    -- M.Connelly

    http://www.syn-ack.it

  3. #3
    ciao

    grazie per la risposta

    il problema non è tanto come formattare la data, ma come concatenarla alla stringa!

    facendo
    backup_file=/data/backup/${date +%Y%m%d}backup.sql

    bash mi dice:
    /data/backup/${date +%Y%m%d}backup.sql: bad substitution
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    date e' un comando, non una semplice stringa/variabile
    non si utilizza ${}, ma gli apici inversi
    codice:
    [spedone@slack ~]$ backup_file=/data/backup/`date +%Y%m%d`backup.sql
    [spedone@slack ~]$ echo $backup_file
    /data/backup/20060118backup.sql
    ciao
    slack? smack!

  5. #5
    e ci credo.. bash utilizza il contrassegno ${VAR} per ESPANDERE la variabile VAR... ma quello che tu chiami ad espandere non è una variabile bensì una espressione..

    queste sono le basi dello scripting bash..........

    prova ad usare l'apice inverso per isolare l'espressione

    codice:
    backup_file=/data/backup/`exec date +%Y%m%d`backup.sql 
    
    oppure
    
    data_formattata=`exec date +%Y%m%d`
    backup_file=/data/backup/$data_formattatabackup.sql
    il secondo esempio è comodo se devi riutilizzare la data.

    leggere una buona guida su bash no eh?
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

  6. #6
    vi ringrazio
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  7. #7
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da stai_tranquillo
    codice:
    data_formattata=`exec date +%Y%m%d`
    backup_file=/data/backup/${data_formattata}backup.sql
    ... è comodo se devi riutilizzare la data.
    magari scritto cosi'.
    leggere una buona guida su bash no eh?
    ecco...

    ciao
    slack? smack!

  8. #8
    Originariamente inviato da cacao74
    magari scritto cosi'.

    ecco...

    ciao
    ops, mi sono mangiato le parentesi
    Ci sono cose che non si possono sapere. Per tutto il resto c'è man

    Prima di fare domande stupide: 1) googla 2) leggi le manpages 3) sparati.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.