Ответы пользователя по тегу bash
  • Как решить проблему в Bash?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Вам в первом ответе привели из доков цитату. В ней написано файл существует и имеет размер больше нуля, так что при выполнении условия он никак не может быть пустым), пустой он в else.
    Ответ написан
    Комментировать
  • Автозапуск программы если закрылась?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Systemd
    Ответ написан
    Комментировать
  • Как отслеживать сжатые картинки?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Так делай операцию повторно, сжатая картинка не ужмётся сильнее)), к чему эта мышиная возьня), ещё скажу по секрету можешь смело 83 процента ставить, разницы не почуствуешь. Я накатал подобный крипт как у тебя, только он ищет жепеги во всех подпапках и сохраняет оригиналы на всякий случай, хотя пока не пригодились ни разу)
    Ну и мой скрипт жмёт не только жепеги, а вообще всю графику.
    P.S. Тупанул, у тебя ведь тоже в подпапках ищет)))
    Ответ написан
  • Как заставить BASH скрипт следить за сотней запущенных процессов?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Вообще ответы которые дали до меня очень дельные, но если Вам всё же надо именно так, то можно работать с параметрами.
    #! /bin/bash
    if [ -e $1 ];then
           exit
    else
          nohup $2 > /dev/null &
    fi
    exit 0

    и запускать скрипт так
    scrypt $1 $2
    Где $1 путь до пид, а $2 путь до бинарника проги, если из Вашего примера то вот так
    scrypt /home/user/pid/program1.pid /home/user/start/program1

    Параметры подставятся на места $1 и $2 в Вашем скрипте.
    Ответ написан
    Комментировать
  • Как адаптировать bash скрипт под рестарт множества однотипных программ?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Тебе нужен скрипт с параметрами.
    #!/bin/sh
    until ffmpeg -i rtsp://$1 ; do
            echo "restarting ffmpeg command..."
            sleep 2
    done

    сохраняешь его и запускаешь так
    # script blablabla.mp4
    вместо blablabla.mp4 подставляешь адрес и он вставляется в скрипте на место $1
    Ответ написан
    2 комментария
  • Как выбрать случайные файлы из папки?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Вот так
    #!/bin/bash
    if ! [ $3 ];then
    	precent=6
    else
    	precent=$3
    fi
    ls $1 > ls.log
    while read line
    do
    	[ $[ $RANDOM % $precent ] == 0 ] && cp -R $1/$line $2
    done < ls.log

    Сохраняешь этот скрипт к примеру сюда /usr/local/bin , к примеру под именем cprandom
    далее делаешь его испольняемым.
    chmod +x /usr/local/bin/cprandom
    далее работаешь
    cprandom $1 $2 $3
    где
    $1 - это адрес папки с твоими файлами
    $2 - адрес папки куда копировать рандомные
    $3 - указать колличество цифр начиная с 0 которые участвуют в рандоме, то есть указывая 1 там всегда будет 0 и все файлы скопируются, 2 - 50 на 50, 3 , треть ну и т.п. По умолчанию стоит 6

    То есть к примеру
    cprandom /home/vity /tmp 20

    Приятного использования))
    Писал на коленке, даже не запускал ни разу, но вроде без ошибок. Если что пиши)
    Ответ написан
    3 комментария
  • Как удалить директорию с названием самого позднего года?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Если в папке /var/backup/site/ находятся только папки с годами и удалять нужно именно по названию папки, а не по дате модификации, то вполне подойдёт такой вариант
    rm -rf $(ls /var/backup/site | head -1)
    Если боитесь сразу выполнять, попробуйте что выдаст Вам команда
    ls /var/backup/site | head -1
    Что она выдаст, то и будет удалено. Но будьте аккуратны с написанием скриптов автоматически удаляющих бэкапы, с логикой прогадаете и все бэкапы удалены)

    Я писал скрипт который удаляет ежедневно самый старый бэкап перед тем как создаётся новый, но если в Вашем случае вы удаляете целиком год, то не проще ли ручками удалить. Раз в год можно и замараться) Другое дело если это процесс ежедневный как в случае в котором привёл я)
    Ответ написан
    6 комментариев