Загрузочный ubuntu pendrive [закрыт]

Я сделал что-то похожее на восстановление ted (Torrent Episode Downloader) из его обычных сбоев. Ниже приведен сценарий, который я использовал.

Редактировать: как это работает

Ted имеет файл журнала. Поскольку он проверяет новые эпизоды каждые полчаса, в этом журнале есть метка времени, которая не старше получаса. Конечно, временная метка не существует, если ted разбился за это время.

Редактировать: как это работает

Вы можете перенаправить вывод своей проблемной программы в файл. Напишите скрипт, похожий на мой, который проверяет этот файл. Если он найдет там плохую строку, перезапустит приложение (и удалит выходной файл). Вы можете запустить скрипт в бесконечном цикле или использовать cron. Я решил использовать cron, поэтому у меня меньше загрязнений процесса, и проверки не обязательно должны быть невероятно частыми.

#!/bin/bash
# indent-mode: spaces, indentsize: 4, encoding: utf-8
# © 2011 con-f-use@gmx.net.
# Use permitted under MIT license:
# http://www.opensource.org/licenses/mit-license.php (NO WARRANTY IMPLIED)

teddir='/home/confus/ted'   # Location of the ted executable
logpath='/home/confus/.Torrent Episode Downloader/log.txt' # Location of ted's log

# Get the process id for ted so it can be killed later
pid=$(lsof "$teddir/ted.jar" | grep -m1 java )
set -- $pid
pid=$2
echo "Ted is running unter pid: $pid."

# Check if the log is recent
search=$(date "+%b %d, %Y @ {0,1}%l:[0-9]{2} %p")
search=$(cat "$logpath" | grep -oE "$search")

# If ted is running and the log is not recent, kill crashed process and
#+restart it.
if [ -n "$pid" ] && [ ! -n "$search" ]; then
    echo "Killig $pid."
    kill "$pid" || exit 1
    echo "Restarting ted..."
    cd "$teddir"
    /usr/bin/java -jar ted.jar noTray
fi

exit 0

В моем случае был все еще активный процесс для ted после сбоя, но Тед ничего не делал. Убивает этот процесс, тогда вы можете, конечно, пропустить pid-Parts.

P.S. Это может быть или не быть плохой частью кода. Может быть, гораздо лучший способ, но он работает, и я собрал его в очень короткое время.

0
задан 23 June 2017 в 12:49

3 ответа

Пока файлы, которые вы хотите использовать в Windows и Mac, находятся на отдельном разделе, он ничего не должен делать для Ubuntu

1
ответ дан 22 May 2018 в 21:14
  • 1
    Итак, вы предлагаете мне разделить pendrive? – HELL DOZER 23 June 2017 в 12:43
  • 2
    И просто из любопытства, что произойдет, если я скопирую файлы в раздел Ubuntu? – HELL DOZER 23 June 2017 в 12:44
  • 3
    Вы не можете копировать файлы в раздел Ubuntu. Ubuntu использует раздел ext4, который не может быть прочитан Windows или Mac. – user 23 June 2017 в 12:58
  • 4
    Да, вы должны разбить USB. – user 23 June 2017 в 12:59
  • 5
    Я просто отвечаю на вопрос 2 сейчас – user 23 June 2017 в 13:00

Пока файлы, которые вы хотите использовать в Windows и Mac, находятся на отдельном разделе, он ничего не должен делать для Ubuntu

1
ответ дан 18 July 2018 в 11:12

Пока файлы, которые вы хотите использовать в Windows и Mac, находятся на отдельном разделе, он ничего не должен делать для Ubuntu

1
ответ дан 24 July 2018 в 19:44

Другие вопросы по тегам:

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