Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    [shell] Ottenere data di oggi -7 gg

    Ciao ragazzi, per uno script che crea un tar di una dir e lo invia via ftp avrei bisogno di comporre una stringa contenente la data di 7 giorni fa (per cancellare gli archivi + vecchi), è possibile usando il comando date?

    grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    niente?

  3. #3
    In python

    codice:
    #!/usr/bin/env python
    
    import datetime
    
    now = datetime.datetime.now()
    delta = datetime.timedelta(days = 7)
    a_week_ago = now - delta
    print a_week_ago
    print a_week_ago.strftime("%Y%m%d%H%M%S")
    da come output:

    codice:
    $ ./a_week_ago.py 
    2006-12-21 17:45:50.310571
    20061221174550
    Cancella il "print" che non ti serve

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    avevo pensato anche io a una eventuale soluzione o in python o in php-cli...

    Per adesso allora affronto cosi il problema, ma speravo ci fosse una soluzione in puro bash.

    Ciao

  5. #5
    Se ti accontenti di avere un unix_timestamp:
    codice:
    $ echo "$(date +%s) - 60*60*24*7" | bc 
    1166720585

  6. #6
    Se invece non hai o non vuoi usare bc, dovrebbe funzionare anche questo:
    codice:
    let data=$(date +%s)-60*60*24*7
    Così lo hai già memorizzato nella variabile "data"

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    direi di no, perchè in pratica devo cancellare il file creato una settimana fa, e se ci metto di mezzo i secondi sono sicuro (anche se lo script viene lanciato con cron sempre alla stessa ora) che poi il file che andrò a cercare non esiste perchè magari è stato generato un secondo prima o un secondo dopo...

    comunque grazie, questo è già un punto di partenza...


    [edit]

    mentre stavo per postare mi è venuto questo dubbio...

    ma il timestamp ottenuto con il secondo metodo che hai postato posso usarlo come seme da passare al comando date per riformattarlo, giusto?

    Se cosi fosse sono a posto..

    ciao

  8. #8
    Originariamente inviato da gianiaz
    direi di no, perchè in pratica devo cancellare il file creato una settimana fa, e se ci metto di mezzo i secondi sono sicuro (anche se lo script viene lanciato con cron sempre alla stessa ora) che poi il file che andrò a cercare non esiste perchè magari è stato generato un secondo prima o un secondo dopo...

    comunque grazie, questo è già un punto di partenza...


    [edit]

    mentre stavo per postare mi è venuto questo dubbio...

    ma il timestamp ottenuto con il secondo metodo che hai postato posso usarlo come seme da passare al comando date per riformattarlo, giusto?

    Se cosi fosse sono a posto..

    ciao
    Se puoi farlo col secondo devi poterlo fare anche col primo, solo che io non ho trovato la maniera di farglielo prendere in input (e quindi non so nemmeno se il calcolo è giusto).
    Ad ogni modo, potresti cancellare i file che hanno il timestamp minore o uguale a quello.


    Oppure, cosa forse più semplice, con "find -ctime 7 -exec {} \;" o qualcosa di simile dovresti avere un risultato più o meno analogo (salvo cancellare altri file innocenti ) - però bisogna notare che il comportamento di find non è molto affidabile nel caso specifico, perchè basta un touch o roba del genere per far saltare il conto

  9. #9
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    in effetti potrei vedere quali comandi posso inviare al server ftp...

    non ho mai provato a usare il find tramite ftp..

  10. #10
    Originariamente inviato da gianiaz
    in effetti potrei vedere quali comandi posso inviare al server ftp...

    non ho mai provato a usare il find tramite ftp..
    Ops.. mi era sfuggito che dovevi operare su FTP - non so nemmeno si ci sia il find in questo modo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.