Скрипт оновлення безкоштовних сертифікатів letsencrypt

DOMAINS=$HOSTNAME
systemctl stop nginx
/opt/letsencrypt/letsencrypt-auto certonly --debug -d $DOMAINS --email hostmaster@$HOSTNAME --standalone --renew-by-default --agree-tos --standalone-supported-challenges tls-sni-01 &&
cp -Lr /etc/letsencrypt/live/$HOSTNAME/cert.pem /usr/local/mgr5/etc/manager.crt &&
cp -Lr /etc/letsencrypt/live/$HOSTNAME/privkey.pem /usr/local/mgr5/etc/manager.key &&
systemctl start nginx
#killall5 -9 core

Автоматичний записувач ефіру радіостанції

Виникла ідея змайструвати найпростіший повторювач (репітер, попугай) за допомогою радіостанції, комп'ютера та невеличкої схеми.

Алгоритм працю наступним чином.
З радіостанції знімається звук через вихід на колонку шнуром з резисторним дільником та включеним в мікрофонний вхід ноутбука. Резисторний дільник потрібен щоб зменшити рівень сигналу з радіостанції, бо мікрофонний вхід досить чутливий. На ноутбуці працює наступний скрипт:


#!/bin/bash

while :
do
    ./rec.py
    DATE=`date +%Y%m%d%H%T`
    mv demo.wav demo-$DATE.wav
    #vlc demo-$DATE.wav &
    #killall -9 vlc
    echo "recorded $DATE"
done

і цикл, в якому відбувається запис та відтворювання записаного сигналу (останнє в стадії розробки). В гніздо навушників буде включено "дравйвер" реле, який буде слухати сигнал в навушниках і в разі його появи, реле буде спрацьовувати та імітувати натискання тангенти, також цей сигнал буде подаватись на мікрофонний вхід радіостанції. Що з того вийде, побачимо. На даний момент

і власне результат роботи скрипта:

apache2 + php7 з коробки не запустився в Linux Mint 18

Видає помилку: "Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP"

Вирішення:
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo service apache2 restart

Python-скрипт для видалення старих бекапів через FTP

#!/usr/bin/python

import time
import ftputil

host = ftputil.FTPHost('ftphost', 'ftpuser', 'ftppass')
mypath = ['/', '/dir1', '/dir2', '/dir3', '/dir3',] # директорії з яких видаляти бекапи
now = time.time()

for p in mypath:
    host.chdir(p)
    names = host.listdir(host.curdir)

    for name in names:
        if host.path.getmtime(name) < (now - (7 * 86400)): # 7 днів
            if host.path.isfile(name):
                host.remove(name)


print 'Closing FTP connection'
host.close()