Comment puis-je configurer un cronjob qui s'exécute toutes les 25 heures?Cronjob toutes les 25 heures?
Répondre
Juste une supposition, mais vous ne pas
Meilleur bidouille du haut de ma tête: écrire un script pour suivre la dernière fois qu'il a été exécuté, et courir sous condition si elle était plus de 25 il y a des heures.
Cron ce script de pilote à exécuter toutes les heures.
Il serait plus facile d'exécuter une commande at
spécifiant l'heure et la date du travail suivant lorsque vous démarrez le travail en cours mais vous pouvez simuler cela avec un cronjob en mettant à jour l'entrée de cronjob pour le processus au début du courant courir (pas à la fin 'cos, alors vous devez prendre en compte le temps d'exécution du travail).
L'astuce 'at' peut échouer si vous manquez un travail, par exemple, si le système est arrêté lors de son exécution. –
Vous pouvez utiliser les commandes 'sleep' ou 'watch' pour exécuter un script en boucle. Assurez-vous simplement que votre script est exécuté.
Installation d'un emploi horaire et vérifiez dans votre script si 25 heures sont passées avec ce snipnet:
if [ $((((`date +%s` - (`date +%s` % 3600))/3600) % 25)) -eq 0 ] ; then
your script
fi
Plus de commentaires seraient appréciés. Ce code génère un horodatage (secondes depuis epoch), le convertit en heures et vérifie modulo 25 (donc toutes les 25 heures). Si nécessaire, remplacez "-eq 0" par "-eq 10" pour changer l'heure dans un jour spécifique ... – darkless
Je pense que vous devriez essayer cette
0 */25 * * * ...
Vous ne pouvez pas définir une fréquence horaire supérieure à 23 – erdomester
24 semble fonctionner dans Debian. –
Vous pouvez obtenir une fréquence si vous comptez les heures (, minutes, jours ou semaines) depuis Epoch, ajoutez une condition au début de votre script et définissez le script à exécuter toutes les heures sur votre crontab:
#!/bin/bash
hoursSinceEpoch=$(($(date +'%s/60/60')))
# every 25 hours
if [[ $(($hoursSinceEpoch % 25)) -ne 0 ]]; then
exit 0
fi
date(1)
Retourne la date actuelle, nous mettre en forme en secondes depuis Epoch (%s
) puis nous les mathématiques de base:
# .---------------------- bash command substitution
# |.--------------------- bash arithmetic expansion
# || .------------------- bash command substitution
# || | .---------------- date command
# || | | .------------ FORMAT argument
# || | | | .----- formula to calculate minutes/hours/days/etc is included into the format string passed to date command
# || | | | |
# ** * * * *
$(($(date +'%s/60')))
# * * ---------------
# | | |
# | | ·----------- date should result in something like "1438390397/60"
# | ·-------------------- it gets evaluated as an expression. (the maths)
# ·---------------------- and we can store it
Et vous pouvez utiliser cette approche avec minutieusement, toutes les heures, tous les jours, ou des emplois Cron mensuels:
#!/bin/bash
# We can get the
minutes=$(($(date +'%s/60')))
hours=$(($(date +'%s/60/60')))
days=$(($(date +'%s/60/60/24')))
weeks=$(($(date +'%s/60/60/24/7')))
# or even
moons=$(($(date +'%s/60/60/24/656')))
# passed since Epoch and define a frequency
# let's say, every 13 days
if [[ $(($days % 13)) -ne 0 ]]; then
exit 0
fi
# and your actual script starts here
- 1. Un impact de redémarrage OWSTIMER toutes les heures?
- 2. exécuter une tâche PHP toutes les 24 heures
- 3. PHP ob_ * de cronjob?
- 4. Quelques questions sur les 25 conseils jquery
- 5. cronJob sur Windows
- 6. Comment utiliser cronjob
- 7. Comment afficher les heures d'ouverture?
- 8. Permet aux utilisateurs de remplacer une entrée qu'ils ont soumise toutes les heures?
- 9. Comment configurer cron pour exécuter certaines commandes toutes les heures et demie?
- 10. Comment interroger toutes les entrées des 6 dernières heures (datetime) dans GQL?
- 11. Impression des 25 tables les plus récemment ajoutées
- 12. tâche Calculer les heures de début
- 13. Rake ne fonctionne pas correctement dans cronjob
- 14. Exécuter cronjob en tant qu'utilisateur connecté
- 15. tour à .25 le plus proche javascript
- 16. Appeler Rubygem tmail de Dreamhost CRONjob
- 17. Javascript conversion DateTime "______ secondes/minutes/heures/mois"
- 18. mysql 12 heures à 24 heures de temps de conversion
- 19. Expression régulière pour correspondre à 12 heures
- 20. SQL: supprimer toutes les données de toutes les tables disponibles
- 21. Cochez toutes les cases
- 22. Supprimer toutes les images
- 23. Différence de temps en heures
- 24. Comment convertir les secondes en heures, minutes et secondes?
- 25. JMeter et le service Web Java s'arrêtent après les heures
- 26. Comment analyser les jours/heures/minutes/secondes en ruby?
- 27. Meilleures façons de gérer les heures UTC et d'heure d'été
- 28. visites de la fiche dans les 24 dernières heures
- 29. Comment afficher les heures de la tâche cible dans CruiseControl.NET?
- 30. Regex permettant des heures en incréments de 15 minutes
Quel est le but de ceci? Pourquoi 24 heures ne sont-elles pas acceptables? –
Voir aussi: http://stackoverflow.com/questions/745901/how-to-do-a-cron-job-every-72-minutes – mob
Came ici de Google avec un cas d'utilisation légitime, qui est d'éviter de dépasser un limite quotidienne d'API pour un travail périodique qui n'est pas particulièrement sensible au temps. Ajout d'une heure supplémentaire pour être prudent et éviter les bugs de l'heure d'été. – mahemoff