J'ai fait pas mal de recherches sur la façon de procéder, et je vois qu'il n'y a pas de moyen direct de gérer un travail tous les jeudis, disons.
En ce moment, je penche vers la création d'un script qui s'exécutera toutes les semaines et touchera un fichier "indicateur" lorsqu'il s'exécutera, et s'il s'exécute et que le fichier est déjà là, pour supprimer le fichier (et ne pas exécuter le action bihebdomadaire).
Ma question est, existe-t-il une autre manière plus élégante ou plus simple d'atteindre cet objectif d'un script bash d'actions s'exécutant toutes les deux semaines automatiquement?
Merci!
Réponses:
J'ai utilisé bash pour faire mes calculs parce que je suis paresseux; passer à ce que vous voulez. Je profite du 1er janvier 1970 comme étant un jeudi; pour les autres jours de la semaine, vous devrez appliquer un décalage. Cron a besoin du pourcentage de signes échappé.
Vérification rapide:
Notez que j'ai choisi des heures aléatoires pour montrer que cela fonctionnera s'il est exécuté à n'importe quel moment le jeudi, et choisi des dates qui traversent les limites de l'année et incluent des mois avec 4 et 5 jeudis.
Production:
la source
Une façon pourrait être d'utiliser l'
at
utilitaire si vous utilisez Linux. Vous pouvez mettre ceci à la fin de votre script:où X est l'heure à laquelle vous souhaitez exécuter votre script. Pour initialiser, il suffit d'appeler
at
à l'heure à laquelle vous souhaitez l'exécuter la première fois, puis l'instruction ci-dessus continue de renouveler votre appel planifié.la source
Si vous pouvez utiliser
anacron
le système, les choses seront beaucoup plus simples. Pour l'utiliser,anacron
vous devez l'avoir installé et vous devez également avoir un accès root. Il ne fonctionne pas sur les systèmes plus anciens (c'est-à-dire RHEL 5.x), les anciennes versions d'Ancron ne fonctionnent qu'au démarrage. Il fonctionne avec les systèmes plus récents (c'est-à-dire RHEL 6.x).Avec
anacron
, on peut planifier des travaux d'une manière plus flexible, par exemple exécuter un travail X une fois par semaine. Exécute également lesanacron
travaux lorsque l'ordinateur devient disponible, c'est-à-dire que vous n'avez pas à prendre en compte le moment où le système est en marche ou en panne.Pour exécuter un script toutes les deux semaines, vous devez ajouter une ligne similaire à la suite de / etc / anacrontab:
Jetez un œil à la page de manuel pour plus de détails.
la source
anacron
est clairement la solution la plus propre de l'OMI (à moins qu'elle n'ait des conséquences indésirables pour certaines personnes).Je ne sais pas s'il existe une façon plus élégante de définir la semaine sur deux, mais cela peut fonctionner pour vous.
Cela lancera le script à 6h00 le premier et le troisième jeudi du mois.
la source
1-7,15-21,29-31
, mais il fonctionnerait consécutivement s'il y avait des matchs pour le dernier set ...Je l'exécuterais chaque semaine et ferais vérifier le script pour voir si le numéro de semaine est un nombre impair: si oui, quittez.
Cela nécessiterait plus de réflexion pour fonctionner de décembre à janvier.
Peut-être que le script a défini un fichier d'indicateur "dernière exécution réussie". Lorsque le script se lance, vérifiez que le fichier indicateur a été modifié pour la dernière fois il y a 14 jours.
la source