Установите задание cron на всех машинах, где выполняется сценарий, в котором вы проверяете 1 конкретное место для новых образов. Пример (непроверенный) сценария с wget и ftp:
#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://user:password@name.remoteserver.com/dir/backgroundimage.gif
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /tmp/backgroundimage.gif
Как правило, 2-я строка должна быть изменена на метод, который вы используете для ручной загрузки изображения на машины. А затем настроить cron
выполнение этого сценария, чтобы каждый час или один раз в день проверять наличие новых изображений.
Вы даже можете настроить его на выбор сценария, в котором этот сценарий исполняется на клиентском компьютере, а затем извлекает изображения и изменяет фон с помощью gconftool-2. Это позволит вам выполнить больше, чем просто изменить фон.
Вы можете создать работу cron с sudo crontab -e
. Это покажет строку, похожую на эту:
# m h dom mon dow command
(m минут, h час, день месяца месяца, месяц месяца, день недели недели) и под ним вы можете добавить ...
0 * * * /path/to/executable
или
@hourly /path/to/executable
чтобы было /path/to/executable
работать каждый час на час. Имейте в виду: скрипт, который вы вставили сюда, не понимает переменную пути, если вы ее не включите. Вы можете поместить это сверху, чтобы включить $SHELL
и $PATH
:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
В противном случае вам нужно убедиться, что ваш скрипт использует полные пути для выполнения команд. Больше информации о cron можно найти в вики Ubuntu .
Вы также можете использовать /etc/cron.hourly
каталог, чтобы поместить туда скрипт, который запускается каждый час. Примеры тем, относящихся к последней части: Что не так с моей конфигурацией cron.hourly? и Cron.hourly не будет работать .