простенький скрипт резервного копіювання

#!/bin/bash

DATE=`date +%Y%m%d%H`
BACKUP_DIR=/mnt/backups/backups

dirs=( /mnt/dir1
       /mnt/file1
       /mnt/dir2
)

for i in ${dirs[@]}; do
    tar -cvf $BACKUP_DIR/${i##*/}-$DATE.tar $i
    gzip $BACKUP_DIR/${i##*/}-$DATE.tar
done

find $BACKUP_DIR/* -maxdepth 0 -ctime +15 -type f -exec rm -rfv {} \;

відправка файлу користувачу на скачування

Блін, вбив певно годину часу поки нагуглив. Купа неробочого коду в цьому сегменті.
    file = open(dnldbl.content.path,'r')
    response = HttpResponse(content = file.read(), content_type=dnldbl.mimetype)
    response['Content-Length']      = os.path.getsize(dnldbl.content.path)
    response['Content-Disposition'] = "attachment; filename=%s" % os.path.basename(dnldbl.content.path)
    return response

Видалення старих фоток в zoneminder

Простенький пайтоновський скрипт, який затирає кеш з фотками з 4 дні
#!/usr/bin/python

import MySQLdb
import sys
import shutil

cache='/var/cache/zoneminder/events'

try:
   conn=MySQLdb.connect(host="localhost", user="zmuser", passwd="******", db="zm")
except MySQLdb.Error, e:
   print "Error %d: %s" % (e.args[0], e.args[1])
   sys.exit (1)

cursor=conn.cursor()
cursor2=conn.cursor()

cursor.execute("SELECT * FROM Monitors")
while (1):
   row = cursor.fetchone ()
   if row == None:
       break
   sql = 'SELECT YEAR(StartTime) AS y, MONTH(StartTime) AS m, DAY(StartTime) AS d, DATE_FORMAT(StartTime, "%m") AS mf, DATE_FORMAT(StartTime, "%d") AS df, DATE_FORMAT(StartTime, "%y") AS yf '
   sql += 'FROM Events '
   sql += 'WHERE MonitorId=%s AND StartTime <= DATE_ADD(CURDATE(), INTERVAL -4 DAY) ' % row[0]
   sql += 'GROUP BY m,d; '
   cursor2.execute(sql)
   while (1):
       row2 = cursor2.fetchone()
       if row2 == None:
           break
       directory = "%s/%s/%s/%s/%s/" % (cache,row[0],row2[5], row2[3],row2[4],)
       print directory
       shutil.rmtree(directory)

cursor.close ()
cursor2.close ()
conn.close ()

Танці з бубном навколо керованого комутатора 3COM Baseline 2226 Plus

Попалась б.к. САБЖ-залізяка. Пробував ресетити, курив мануали, пробував знайти ІР і залогінитись, але все безуспішно. Рідний софт-діскавері також не знаходив ІР. Гугл сказав що проблема досить таки глобальна. І найприкріше те, що девайс не має інтерфейсу rs-232. Але десь в коментарях під якоюсь статтею вичитав, що на материнці все ж є колодка, але не виведена на зовні. Отож, зірвав гарантійну лейбу, розкрутив і побачив порт. Знайшов перехідник на якомусь старому залізі і підключив кабель.


 Підключився терміналом і побачив абракадабру. Методом тику підібрав параметри підключення і отримав командний рядок CLI
А далі все просто. Поставив собі потрібну ІР, зайшов на веб-інтерфейс (login: admin; password: <пустий>)

Сподіваюсь може колись комусь пригодиться.

gammu і відсилка sms

Підключаю до Ubuntu по USB свою стару Nokia N85, в менюшці на телефоні обираю Nokia PC Suite. Далі потрібна мінімальна конфігурація gammu

$ gammu-detect
...
[gammu]
device = /dev/ttyACM0
name = Nokia N85
connection = at
...

Пишу цей кусочок у відповідне місце ~/.gammurc або ж за допомогою утиліти gammu-config вписую відповідні дані.

Відіслати SMS можна командою:

$ echo "Тестування СМС розсилки. Тест кирилиці іїє ІЇЄґҐ" | gammu sendsms TEXT +38063ХХХХХХХ -unicode

flask

Якось зайшла мова в одній комюніті про легкий фреймворк на Python для невеличких сайтів.
Ось невеличка презентація. Буде трошки вільного часу, треба буде покурити мануал і потестувати.