mysqlcheck -Aaco --auto-repair -u root -p
програми та скрипти для моніторингу та діагностики системи
top
htop
atop
iotop
sysstat: sar iostat
vmstat
ps .....
netstat .....
lsof
fuser
smem
pmap
ps -e -O rss,user | awk '/php[^[]/{sum+=$2}END{print sum}'
htop
atop
iotop
sysstat: sar iostat
vmstat
ps .....
netstat .....
lsof
fuser
smem
pmap
ps -e -O rss,user | awk '/php[^[]/{sum+=$2}END{print sum}'
простенький скрипт резервного копіювання
#!/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 {} \;
Кирилічна консоль в Ubuntu server
# dpkg-reconfigure console-setup
# update-initramfs -k all -u
# update-grub
# reboot
# update-initramfs -k all -u
# update-grub
# reboot
відправка файлу користувачу на скачування
Блін, вбив певно годину часу поки нагуглив. Купа неробочого коду в цьому сегменті.
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 ()
Підписатися на:
Дописи (Atom)