![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| crontab non poteva passare, aiuto | duke0001 | UNIX e avanzata per utenti esperti | 10 | 02-06-2008 03:22 AM |
| Uso Crontab | sumesh.abraham | Shell scripting e di programmazione | 10 | 02-21-2007 06:19 AM |
| crontab | ss4u | UNIX for Dummies Domande & Risposte | 2 | 02-20-2007 10:33 AM |
| aiutare con crontab | bob122480 | Shell scripting e di programmazione | 3 | 01-22-2007 08:49 PM |
| Hai bisogno di aiuto in crontab? | J_ang | Shell scripting e di programmazione | 3 | 07-22-2006 02:46 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Cron Purtroppo non è molto flessibile in questo senso. La sua necessità di eseguire lo script esattamente ogni 15 giorni, o potrebbe semplicemente eseguire il 1 ° e il 16 di ogni mese, cioè circa ogni 15 giorni?
Altrimenti potrebbe essere necessario eseguire il lavoro ogni giorno, e aggiungere qualche logica in modo che le uscite senza fare niente, se l'attuale numero di giorni trascorsi dal 1 gennaio 1970, non è uniformemente divisibile per 15: Codice:
days_since_epoch=$(perl -e 'print int(time/86400)"\n";')
if [[ "$(( $days_since_epoch % 15 ))" -ne 0 ]]
then
exit
else
# do your stuff
fi
Ultimo a cura di Annihilannic; al 10/13/2008 02:19 AM.. Motivo: Rimosso duplicato del modulo di calcolo. |
|
|||||
|
sì script per eseguire ogni 15 giorni. rans, se cioè oggi 13 ottobre, il prossimo sarà il 28 ottobre e di nuovo 0N 13 nov.
Ho dato la sceneggiatura di seguito i dettagli, e può dirmi come data per l'attuazione del presente logica dentro il mio script -------------------------------------------------- ----------------------- #! / bin / ksh cd / var / preservare count \u003d 0 count \u003d `ls-l | grep ^ - | grep 'tubo' | wc-l` if [$ count-eq 0] allora echo "0 file sono di proprietà di pipe" altro echo "totale dei file è di proprietà di tubo $ count" ls-l | grep 'tubo' | xargs rm-f -- echo "Tutti i file vengono eliminati tubo" fi -------------------------------------------------- ----------------------- So di un comando che darà la data dopo 15 giorni, ma non sempre la logica di applicare all'interno dello script TZ \u003d `date +% Z» -360; a \u003d `date +% Y-% m-% d `--------> 2008/10/28 |
|
||||
|
Basta cambiare l'inizio di questo tipo. Oggi è il giorno dal 14165 l'epoca, e 14165% 15 \u003d 5. Ciò significa che lo script verrà eseguito oggi, e in 15 giorni di tempo, 30 giorni, 45, ecc
Codice:
#!/bin/ksh
days_since_epoch=$(perl -e 'print int(time/86400);')
if [[ "$(( $days_since_epoch % 15 ))" -ne 5 ]]
then
exit
fi
...
|
|
||||
|
Pensateci ... non c'è alcuna reale necessità per l'altra parte ... se non è il giorno che si desidera, è uscita ... * se * è il giorno che si desidera, lo script e continuare a eseguire il resto del codice.
Si potrebbe mettere in un altro punto, se lo si desidera, ma il risultato è lo stesso. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|