Назад | Перейти на главную страницу

Написание сценария установки, который запускает команду, только если каталог не изменялся в течение 1 дня.

У меня есть сценарий оболочки, который выполняет некоторые задачи с использованием файлов из репозитория Subversion. Я бы хотел, чтобы репозиторий Subversion обновлялся, но сейчас скрипт запускается svn up каждый раз, что раздражает, если мне нужно запускать скрипт несколько раз подряд.

поскольку svn up изменяет последнюю измененную метку времени .svn каталог (даже если не было новых коммитов), я решил, что могу использовать его, чтобы убедиться, что он запускается только svn up один раз в день или около того.

Я попытался найти простой способ просто проверить, .svn каталог старше одного дня, но было много, казалось бы, излишних способов сделать это, поэтому я подумал, что спрошу здесь, если на самом деле есть очень простой способ сделать это.

Это несколько просто:

[ `find /path/to/.svn -maxdepth 0 -mtime +1 | wc -l` -gt 1 ] && svn up

Возможно, мне здесь не хватает общей картины, но нельзя ли просто запускать ежедневное задание cron для обновления репозитория svn?

например

crontab -e

затем добавьте

4 * * * /root/updatecron.sh

где updatecron.sh содержит

#!/bin/bash
cd /my/directory
/usr/bin/svn up

или что-то вроде того?