Архив автора: shilovk

tar

Вот некоторые опции, используемые с командой tar:

  • c — создать новый архив
  • f — в сочетании с опцией -c используется для создания файла tar из указанного файла; в сочетании с опцией -x используется для разархивирования указанного файла
  • t — показать список файлов в файле tar
  • v — показывать ход выполнения процесса архивирования
  • x — извлечь файлы из архива
  • z — сжать файл tar с помощью программы gzip
  • j — сжать файл tar с помощью программы bzip2


Чтобы создать файл tar, наберите в командной строке:

1
tar -cvf имя_файла.tar каталог/файл

В этом примере имя_файла.tar — создаваемый архивный файл, каталог/файл — каталог или файл, который необходимо поместить в архивный файл.

Вы можете создать файл tar из нескольких файлов и каталогов одновременно, перечислив их через пробел:

1
tar -cvf имя_файла.tar /home/mine/work /home/mine/school

Эта команда поместит все файлы из каталогов work и school, принадлежащих каталогу /home/mine, в новый файл с названием имя_файла.tar в текущем каталоге.

Для просмотра содержимого файла наберите в командной строке:

1
tar -tvf имя_файла.tar

Чтобы извлечь содержимое файла tar, наберите:

1
tar -xvf имя_файла.tar

 

dump and restore

Проверка с другой машины есть ли доступ к серверу

mongo —host 178.62.190.77 —port 27017

или

telnet 178.62.190.74 27017

service mongodb status
ps aux | grep mong
cd /tmp
mongodump -db project_db
zip -r dump.zip dump/
scp -r root@62.76.188.182:/tmp/dump.zip ./
unzip dump.zip
mongorestore dump/

или  mongod —setParameter failIndexKeyTooLong=false —config /etc/mongod.conf

http://docs.mongodb.org/manual/reference/parameters/#param.failIndexKeyTooLong
mongo
top
# /etc/init.d/mongodb status
service mongod start

date timezone history

Как изменить временную зону в Debian/Linux?
Нужно создать симлинк из /etc/localtime на «нужный» файл из каталога /usr/share/zoneinfo/:

# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Также советую изменить соответствующую запись в /etc/timezone

Как изменить дату и время в Debian/Linux?

# date MMDDhhmmYYYY.ss

MM — месяц
DD — день
hh — час
mm — минуты
YYYY — год
ss — секунды

Как изменить время в Debian/Linux?

# date —set hh:mm
History with date:
export HISTTIMEFORMAT=»%d/%h/%y — %H:%M:%S «

ports drop or close

1. закрыть все входящие порты
iptables -P INPUT DROP
2. открыть все исходящие порты
iptables -P OUTPUT ACCEPT
3. открыть порт 80 для всех входящих соединений
iptables -A INPUT --dport 80 -j ACCEPT
4. открыть 22 и 5432 порты только для конкретного IP
iptables -A INPUT -m multiport --dports 22,5432 -s IP_ADDRESS -j ACCEPT

IPtables сбросить все правила

Бывает такая необходимость, очистить все правила фаера, под RHEL линуксами можно просто застопить его например так

# /etc/init.d/iptables stop

или так
# service iptables stop

или вообще убрать из загрузки с системой:
# chkconfig iptables off

под деб дистрами и прочими, создаем маленький скрипт:
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

сохраняем, делаем исполняемым:
# chmod +x /root/fwstop
запускаем
# /root/fw.stop

dump and restore

Создание дампа

Разберем пример простейшее использования, задампим базу данных «database» при помощи перенаправления потока в файл «database.sql»:

mysqldump -uroot -h82.82.82.82 -p database > database.sql

где:

  • -u или -–user=… - имя пользователя
  • -h или —host=… - удаленный хост (для локального хоста можно опустить этот параметр)
  • -p или —password - запросить пароль
  • database - имя базы данных
  • database.sql - файл для дампа


Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр —databases (или сокращенно -B), пример:

mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql

А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр —all-databases (или сокращенно -A), пример:

mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql

Развертывание дампа

Перенаправляем поток в обратную сторону и развертываем базу данных:

mysql -uroot -h82.82.82.82 -p database < database.sql

Или через mysql-console:

mysql> use database;
mysql> source database.sql

Ну, а если у нас gz-архив к примеру, то:

zcat database.sql.gz | mysql -uroot -h82.82.82.82 -p database
Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > dump.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +dump.sql.%Y%m%d.%H%M%S.gz`

-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку.
   Итоговый файл получается меньше и делается он чуть быстрее
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Сделать дамп базы blog.
Для каждой записи в таблицу использовать отдельный insert.
$ mysqldump blog --extended-insert=FALSE 

Сделать дамп таблицы но исползовать ограничение where
$ mysqldump my_super_shop_database shop_products --where="active=1"

circle avatar

При решении поставленной задачи я решил воспользоваться современными возможностями CSS 3. Реализация «круглых аватарок» получилась простой и гибкой. Метод основан на свойстве border-radius

Для отображения аватара я использовал вот такой HTML-код:

<div class="avatar">
    <img src="http://autokadabra.ru/system/uploads/users/1/1938/small.png" alt="avatar" />
</div>

CSS-стили для этого кода выглядят следующим образом:

.avatar{ /* селектор для класса avatar */
    float: left; /* прижимаемся к левому краю, обтекание справа */
    background: #fff; /* фон */
    width: 50px; /* ширина */
    height: 50px; /* высота */
    padding: 5px; /* внутренние отступы(верх, право, низ, лево) */
    border: 1px solid #999; /* граница(ширина, тип, цвет) */
    border-radius: 50%; /*скругление равно 50 процентам от общей ширины, фактически 25 пикселей, вот и круг получили(ещё есть с префиксом -moz и -o) */
    box-shadow: 0px 1px 1px 1px #bbb /* смещение по горизонтали, смещение по вертикали, размытие, увеличение и цвет */
}
.avatar img{ /* селектор для картинки, которая "внутри" класса avatar */
    display: block; /* картинка выводится как блок, по ширине будет равен родителю(диву в котором находится) */
    width: 100%; /* ширина 100% */
    border: 0; /* граница нулевая */
    margin: 0; /* внешний отступ отстутствует */
    border-radius: 50%; /* читай выше */
}