Архив метки: How to

Converting 32bit RRD to 64bit RRD (This RRD was created on other architecture)

Такая ошибка вываливается тогда, когда на одной архитектуре (скажем, 64bit), вы пытаетесь использовать rrd-шки, созданные на другой (32bit).
Починить можно, перегнав rrd-шку в xml на старой системе, а затем обратно — на новой.
Например, на старой системе выполняем:

rrdtool dump sometest.rrd > sometest.xml

На новой:

rrdtool restore sometest.xml sometest.rrd

Если же файлов много, то можно сделать это так:
На старой системе:

for i in `find -name «*.rrd»`; do rrdtool dump $i > $i.xml; done

На новой:

for i in `find -name «*.xml»`; do rrdtool restore $i `echo $i |sed s/.xml//g`; done

Автор: AlexWinner

fdisk — Partition table entries are not in disk order, или восстанавливаем порядок разделов

Иногда может случиться так, что порядок разделов в таблице разделов меняется. Таким образом, что раздел (партиция) с номером x+2 оказывается физически между разделом x и x+1. Например, так, как это показано ниже: Читать

Ubuntu — возвращаем F10 в MC (Midnight Commander)

К сожалению, в Ubuntu 11.04 и 11.10 нажатия кнопки F10 перехватываются Unity. Это очень разжражает, так как в Midnight Commander’е эта кнопка часто используется, например, для выхода.
Избавиться о перехватов Unity просто. Для этого надо выполнить следующие действия:
1) Устанавливаем compizconfig-settings-manager:

$ sudo aptitude install compizconfig-settings-manager

2) Далее, запускаем его (в меню приложений находим compizconfig-settings-manager)
3) Вводим в фильтре Unity и находим Ubuntu Unity Plugin:

4) Снимаем галочку либо нажимаем на него и переназначаем клавишу вызова. Я выбрал Ctrl+Shift+F10

 

Автор: AlexWinner

PHP MongoDB — получаем _id только что созданной записи (MongoID)

Ситуация: мы хотим получить _id только что созданной нами записи. То есть, например, мы создали юзера и хотим знать айдишник, который MongoDB присвоила ему. Делается это очень просто:
Добавляем элемент:

$x = array(‘foo’ => ‘bar’);
$c->insert($x); 

Проверяем внутренности $x:

var_dump($x);
array(2) {
  [«_id»]=>
  object(MongoId)#2 (0) {
  }
  [«foo»]
  string(7) «bar» 

 

Таким образом, для того, чтобы узнать _id, достаточно вывести $x[‘_id’]

Автор: AlexWinner

Простой скрипт для бэкапа MySQL баз

#!/bin/bash

# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7

# Main part
for DATABASE in `echo SHOW DATABASES | mysql —defaults-file=${CNF} —skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump —defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done

# Deleting old backups

find ${BACKUPDIR} -mtime +${OLDDAYS} -delete

Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:

00 05 * * * root /usr/local/sbin/mysqlbackup.sh

P.S. Ах да, это юбилейный, сотый пост в моём бложике:)

Автор: AlexWinner