![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| crontab kan ikke kjøre gjennom, hjelp | duke0001 | UNIX for Advanced & ekspertbrukere | 10 | 02-06-2008 03:22 |
| Bruke Crontab | sumesh.abraham | Shell programmering og Skripting | 10 | 02-21-2007 06:19 |
| crontab | ss4u | UNIX for Dummies Spørsmål og svar | 2 | 02-20-2007 10:33 |
| hjelp med crontab | bob122480 | Shell programmering og Skripting | 3 | 01-22-2007 08:49 |
| Trenger du hjelp i crontab? | J_ang | Shell programmering og Skripting | 3 | 07-22-2006 02:46 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Dessverre cron er lite fleksibel i respekt. Har Skriptet må kjøre nøyaktig hver 15 dager, eller kunne du bare kjøre det på den 1. og den 16. i hver måned, dvs. ca hvert 15 dager? Ellers må du kanskje bare kjøre jobben hver dag, og legge til noen logikk, slik at det går ut uten å gjøre noe hvis den nåværende antall dager siden 1 januar 1970 er ikke jevnt delelig med 15: Code:
days_since_epoch=$(perl -e 'print int(time/86400)"\n";')
if [[ "$(( $days_since_epoch % 15 ))" -ne 0 ]]
then
exit
else
# do your stuff
fi
Sist endret av Annihilannic; 10-13-2008 på 02:19.. Grunn: Fjernet duplikatinnhold beregning av modulus. |
|
|||||
|
ja script har til å kjøre hver 15days. hvis den rans dag dvs. 13 oktober, siden vil være på den 28 oktober og igjen 0n 13 november
Jeg har nedenfor gitt skriptet detaljer, kan u fortelle meg hvordan du implementerer denne datoen logikk inne min script -------------------------------------------------- ----------------------- #! / bin / ksh cd / var / bevare count \u003d 0 count \u003d `ls-ltr | grep ^ - | grep 'pipe' | wc-l` hvis [$ count-eq 0] så echo "0 filer eies av pipe" ellers echo "total filer eies av røret er $ count" ls-ltr | grep 'pipe' | xargs rm-f -- echo "Alle rør filer slettet" fi -------------------------------------------------- ----------------------- Jeg vet om en kommando som gir datoen etter 15days, men heller ikke den logikken å implementere den i skriptet TZ \u003d `date +% Z` -360; a \u003d `date +% Y-% m-% d `--------> 2008-10-28 |
|
||||
|
Bare endre begynnelsen sånn. I dag er 14.165 dager siden epoken, og 14,165% 15 \u003d 5. Det betyr at dette skriptet skal publiseres i dag, og i 15 dager for tiden, 30 dager, 45 osv. Code:
#!/bin/ksh
days_since_epoch=$(perl -e 'print int(time/86400);')
if [[ "$(( $days_since_epoch % 15 ))" -ne 5 ]]
then
exit
fi
...
|
|
||||
|
Tenk på det ... det er ingen reelle behovet for de andre del ... hvis den ikke den dagen du ønsker, vil det gå ut ... hvis det * er * dagen du ønsker, vil skriptet bare fortsette og kjøre resten av koden.
Du kan putte den i et annet ledd hvis du ønsker det, men resultatet er det samme. |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|