Как повторно породить vpnc, когда он останавливается?

Старая школа — Вы могли использовать dd:

dd if=A_FILE bs=1 skip=3

Входной файл A_FILE, размер блока является 1 символом (байт), пропустите первые 3 'блока' (байты). (С некоторыми вариантами dd такой как GNU dd, Вы могли использовать bs=1c здесь — и альтернативы как bs=1k читать в блоках 1 килобайта при других обстоятельствах. dd на AIX не поддерживает это, это кажется; BSD (macOS Горная цепь) вариант не поддерживает c но действительно поддерживает k, m, g, и т.д.)

Существуют другие способы достигнуть того же результата, также:

sed '1s/^...//' A_FILE

Это работает, если существует 3 или больше символа на первой строке.

tail -c +4 A_FILE

И Вы могли использовать Perl, Python и так далее также.

2
27.10.2013, 18:26
1 ответ

Вы могли поместить простой сценарий крона вместе, который будет контролировать, чтобы видеть, все еще ли процесс vpnc. В противном случае затем выполните его.

#!/bin/bash

if [ "$(pidof vpnc)" ]; then 
  echo "restart"
  ..run vpnc here..
else 
  echo "running"
  ..do nothing..
fi

После того как Вы создали этот сценарий, назовите его /etc/cron.d/vpnc_checker.bash и создайте crontab запись для него в файле /etc/crontab. Это будет работать каждые 5 минут.

*/5  *  *  *  * root  /etc/cron.d/vpnc_checker.bash

Удостоверьтесь, что сценарий является исполняемым файлом:

$ chmod +x /etc/cron.d/vpnc_checker.bash
3
27.01.2020, 22:06
  • 1
    */5 * * * * в течение каждых 5 минут, а не 5 * * * *, право? –  CupawnTae 01.04.2015, 16:29
  • 2
    @CupawnTae да, спасибо за выгоду. Фиксированный! –  slm♦ 01.04.2015, 17:58

Теги

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