Давайте использовать ваш аватар например (сохранить в /opt/download-avatar
)
#!/bin/bash
URL="https://www.gravatar.com/avatar/554f043fa658cba9bbc2ee4c6d4e052d?d=identicon"
timestamp=$(date +%F_%T);
wget "$URL" -O "${timestamp}.png"
Примечание: может быть лучше сохранить имена файлов в секундах от отметки времени эпохи timestamp=$(date +%s)
Создайте задание cron для запуска каждые 5 минут (сохраните в /etc/cron.d/timelapse-avatar
)
#!/bin/sh
*/5 * * * * /opt/download-avatar
Сделайте скрипты исполняемыми
chmod +x /opt/download-avatar
sudo chmod 755 /etc/cron.d/timelapse-avatar
Если вы не хотите использовать cron
просто (сохраните в ~/start-timelapse
)
#!/bin/bash
input="$1"
URL="https://www.gravatar.com/avatar/554f043fa658cba9bbc2ee4c6d4e052d?d=identicon"
if [ -z "$input" ]; then
echo "USAGE: $0 [interval in minutes]"
exit 1
else
interval=$((60*input));
fi
while [ 0 = 0 ]; do
timestamp=$(date +%s)
wget "$URL" -O "${timestamp}.png"
echo "Sleeping for $input minutes"
sleep "$interval"
done;
Сделать исполняемым и запустить с 7-минутными интервалами
chmod +x ~/start-timelapse
cd ~
./start-timelapse 7
ОБНОВИТЬ:
Спасибо, slhck.
Найджел, по умолчанию cron
запускается от имени пользователя root . Не относящийся к этому вопросу, но технически он работает как "специальный пользователь", неинтерактивно, без переменных среды, таких как $PATH
, без идентификатора сеанса dbus
, без идентификатора сеанса X
и т.д.
~/
является сокращением для домашнего каталога пользователя (также см. переменную среды $HOME
). По умолчанию для пользователей это будет, например, /home/nigel
но для пользователя root это /root
поэтому, вероятно, cron сохраняет их в /root/pdm-5min
. Вы можете использовать:
wget "$URL" -O "/home/nigel/pdm-5min/${timestamp}.png"
НО, файлы будут принадлежать пользователю root, поэтому nigel не сможет перемещать, удалять, редактировать их, если вы не предоставите себе разрешение от имени root (или через sudo
)
Поэтому вы можете запустить cron
от имени своего пользователя nigel.
#!/bin/sh
*/5 * * * * nigel /opt/download-avatar
Убедитесь, что каталог, в который вы сохраняете, существует, возможно, вы захотите добавить его непосредственно перед строкой wget
:
mkdir -p /home/nigel/pdm-5min/
И наконец, будьте осторожны со своими "
(цитаты). Используйте их так, чтобы переменные сохраняли пробелы (пробелы, табуляции и т.д.), Но убедитесь, что каждая одинарная или двойная кавычка имеет совпадающую, это не является обязательным.