Bash-скрипт для проверки, первый ли понедельник месяца

Rocks 6.2называется Sidewinder и основан на CentOS 6.6.

Rocks 4.2называется Hassalan и основан на CentOS 4.3.

Вам нужно будет протестировать, чтобы убедиться, но вы должны иметь возможность запускать Rocks на любом оборудовании на HCL для RedHat/CentOS, а также любое программное обеспечение, предназначенное для Centos 6.6 на Rocks 6.2, просто добавив соответствующий репозиторий Yum(y|ies).

См. раздел Добавление других пакетовна этой странице: http://ir.dcs.gla.ac.uk/wiki/CompBioCluster/ClusterAdministration

1
25.05.2018, 02:56
3 ответа

No tengo tiempo para leer todo el guión pero aquí está la idea :con el comando dateobtenga el nombre del día en la semana:

we=$(LC_TIME=C date +%A)

(LC_TIME=Cse usa para obtener el nombre en inglés del día de la semana)

y luego obtener el día del mes

dm=$(date +%d)

y luego verifique si el día es menos de 8 y el día de la semana es lunes:

if [ "$we" = "Monday" ] && [ "$dm" -lt 8 ]
then 
.....
fi
12
27.01.2020, 23:10

Coloque el script en cuestión en sucrontab:

0 1 * * 1 [[ "$(/bin/date +\%d)" -le 7 ]] && /path/to/script.sh

Todos los lunes a las 0100, verificará si la fecha es menor o igual al séptimo y, de ser así, ejecutará el script.

La ventaja de usar esto es que es muy fácil reprogramar para los martes sin tener que editar el guión.

3
27.01.2020, 23:10

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

Эту проверку можно либо интегрировать в ваш основной сценарий, либо вы можете написать сценарий-оболочку, чтобы вам не нужно было вносить это изменение в основной сценарий, чтобы он мог работать.

if [[ $(date +%d) =~ 0[1-7] ]]; then
    : run script
fi

Проверка дня недели и месяца:

if [[ $(date +%w%d) =~ 10[1-7] ]]; then
    : run script
fi
1
27.01.2020, 23:10

Теги

Похожие вопросы