Rose debug info
---------------

Позднее Ctrl + ↑

Уменьшаем размер MSDB

Размер системной базы msdb стал больше 11 гб, настало время ее почистить.

Для начала, посмотрим какая таблица сколько места занимает:

USE MSDB
select t.name as TableName,Min(t.create_date) as CreateDate,ds.name as FileGroupName, SUM(u.total_pages)*8/1024 as SizeMB
from sys.tables as t
inner join sys.partitions as p on t.object_id=p.object_id
inner join sys.allocation_units as u on p.partition_id=u.container_id
inner join sys.data_spaces as ds on u.data_space_id=ds.data_space_id
group by t.name, ds.name
order by sizemb desc

В моем случае это была таблица sysmaintplan_logdetail. Около 10 гб.

Чистим:

USE MSDB
ALTER TABLE [dbo].[sysmaintplan_log] DROP CONSTRAINT [FK_sysmaintplan_log_subplan_id];
ALTER TABLE [dbo].[sysmaintplan_logdetail] DROP CONSTRAINT [FK_sysmaintplan_log_detail_task_id];
truncate table msdb.dbo.sysmaintplan_logdetail;
truncate table msdb.dbo.sysmaintplan_log;
ALTER TABLE [dbo].[sysmaintplan_log] WITH CHECK ADD CONSTRAINT [FK_sysmaintplan_log_subplan_id] FOREIGN KEY([subplan_id])
REFERENCES [dbo].[sysmaintplan_subplans] ([subplan_id]);
ALTER TABLE [dbo].[sysmaintplan_logdetail] WITH CHECK ADD CONSTRAINT [FK_sysmaintplan_log_detail_task_id] FOREIGN KEY([task_detail_id])
REFERENCES [dbo].[sysmaintplan_log] ([task_detail_id]) ON DELETE CASCADE;

После этого обязательно сжимаем базу:

DBCC SHRINKFILE (MSDBData, 512)

Проверяем результат:

SELECT name, size = size * 8. / 1024, space_used = FILEPROPERTY(name, 'SpaceUsed') * 8. / 1024
FROM sys.database_files

И добавить еще очистку логов джобов и бекапов:

DECLARE @DateBefore DATETIME 
SET @DateBefore = DATEADD(DAY, -7, GETDATE())

EXEC msdb.dbo.sp_purge_jobhistory @oldest_date = @DateBefore
DECLARE @DateBefore DATETIME 
SET @DateBefore = DATEADD(DAY, -60, GETDATE())

EXEC msdb.dbo.sp_delete_backuphistory @oldest_date = @DateBefore
 Нет комментариев    123   10 мес   howto   mssql

Ground Control: папка с кешем и новые версии ios

По одному из проектов получил на поддержку несколько сотен айпадов, которые разбросаны по стране. Часть из них предыдущий подрядчик зачем-то настроил ручками — купил домен и зарегистрировал кучу apple id.

Компания международная, есть своя MDM team, которая с помощью GroundControl + VMWare AirWatch управляет девайсами централизовано. Надо только установить. Почему это не сделано изначально? В ответ услышал что-то вроде «Сложно» и «Не разобрались». Пришлось разбираться.

В общем, самый неприятный в настройке момент — выход новой версии ios. Когда апдейт становится доступным для всех известно, но когда его протестируют в команде MDM и опубликуют для обновления корпоративных устройств — тайна. Это может быть день, два или пять. Так как установка AirWatch в обязательном порядке обновляет версию ios, бывали ситуации когда при подключении очередного планшета GC хочет скачать новую прошивку, которая весит 6,5 ГБ. На мобильном интернете это очень долго.

Но выход есть!

Скачиваем прошивку после выхода (например, на ipsw.me или  Enterprise iOS) и не меняя имени файла, кладем в папку с кешем:

MAC:

~/Library/Application Support/GroundControl/Content Downloads/

Windows:

%LOCALAPPDATA%\GroundControl\Content Downloads\

Теперь я закидываю прошивку сразу после выхода и не жду «сюрпризов».

 Нет комментариев    136   11 мес   howto

Edgerouter: авторизация по ssh ключу

Оставлять 22 порт с авторизацией по паролю, ну... такое. Тем более на роутере. Значит надо добавить авторизацию по ключу!

Если ключа у вас нет, то:

cd ~/.ssh
ssh-keygen -t rsa -C "email@example.com"

Далее надо скопировать публичный ключ на роутер, заменив ip своего роутера:

scp ~/.ssh/id_rsa.pub 192.168.1.1:/tmp

И импортируем ключ для пользовтеля :

configure 
 loadkey <user> /tmp/id_rsa.pub 
 commit 
 save 
 exit

Вы же заменили дефолтного ubnt, верно?

 Нет комментариев    186   11 мес   edgerouter   howto

Уведомления Flexget с Synology в telegram

Заметил, что я чаще пользуюсь телеграмом, нежели ватсапом. На работе мы даже перевели всю систему уведомлений на телегу. Плюс через API обратно даём некоторые простые команды для немедленной реакции на эти уведомления — перезагрузить устройство, заблокировать и т. п.  

В общем, решил я научить Flexget слать уведомления сразу в telegram. Это оказалось довольно просто.

Ставим python-telegram-bot

Для работы нам будет нужен этот пакет.

$ /volume1/@appstore/flexget/env/bin/pip install python-telegram-bot

Далее нам нужно создать бота.
Регистрируем у BotFather своего бота — отправляем `/newbot` и следуем подсказкам. Получаем  `bot_token`, сохраняем, он понадобится нам для конфига flexget.

Правим конфиг Flexget

Добавляем к задаче раздел notify:

notify:
  entries:
    title: 'flexget '
    message: ' started'
    via:
      - telegram:
          bot_token: xxx:XXXXXXXXXXX
          parse_mode: 'markdown'
          recipients:
            - username: '<ваш_юзернем>'

Всё, теперь можно наслаждаться результатом:

Удаляем аудиодорожку из mp4 файлов

Возникла достаточно нестандартная задача — удалить звук из нескольких сотен mp4 файлов.
В одном файле это можно сделать тысячью способов, есть куча программ, которые могут распотрошить mp4 контейнер, но что делать если файлов тысячи?

На помощь приходит консольная утилита ffmpeg, как это не странно.
Что бы удалить все аудиодорожки, надо использовать команду `-an`. Как-то так:
`ffmpeg -i input.mp4 -vcodec copy -an output.mp4`
`-i` — указывает исходный файл
`-vcodec copy` говорит что не надо трогать видео
`-an` что аудио не нужно
`output.mp4` — итоговый файл.

Отлично, но надо как-то подставить 1322 файла (147Gb)! Поможет PowerShell:

$FROMDIR = 'H:\2013\'
$TODIR = 'H:\2013_new'
$FFMPEG = 'H:\ffmpeg\bin\ffmpeg.exe'

$files = Get-ChildItem $FROMDIR -Filter  '*.mp4'
   
foreach ($file in $files)
	{
		$output = $TODIR + '\' + $file.Name 
		
		& $FFMPEG -i $FROMDIR$file -vcodec copy -an $output
	}

Запускаем и ждем :)

🇳🇴 Норвегия. Полезные ссылки

В общей сложности, по Норвегии я проехал больше 20 тысяч километров. С севера на юг, с юга на север. При подготовке к трем моим поездкам в страну фьордов и водопадов собрал небольшую коллекцию ссылок. Уверен, они будут полезны тем, кто собирается посетить эту красивейшую, но дорогую страну.

Я разбил ссылки по категориям, пост периодически обновляю.

Карты

FINN kart
1881 — потрясающая детализация спутниковых снимков
Топо карты Норвегии с пешими маршрутами
Еще карты
Еще одни

Паромы, транспорт

Torghatten Nord AS — маршруты, расписание и цены на некоторые паромы
Паромы — еще паромы
Паромы — еще одна паромная контора
И еще паромы
Паром Анденес — Сенья (Gryllefjord
Информация о платных дорогах

Отчеты, информация о маршрутах

Маршруты для хайкинга — очень много маршрутов. Правда, только на норвежском.
Еще маршруты, с описанием, с треками.
Блог о Лофотенских островах — ведет потрясающий фотограф Cody Duncan
VisitNorway.com — русскоязычный сайт, на котором собрано куча полезной информации о Норвегии
Для любителей гор — информация почти обо всех возвышенностях Норвегии с маршрутами, фотографиями
Еще горы — здесь, правда, не только по Норвегии
Vinmonopolet адреса магазинов vinmonopolet, где можно купить алкоголь
Сафари на паффинов — очень прикольные птички, у нас больше известны как морские попугаи
Китовое сафари — дорого, но посмотреть на китов того стоит
Походы по Лофотенским островам
Прогулки по Норвегии
Автопутешествие в Норвегию на ОКЕ
Норвегия. Полезная информация для тех, кто за рулем
Наше скандинавское путешествие

Погода, полярное сияние

Погода и прогноз интенсивности полярного сияния
seNorge
YR.NO — очень точные прогнозы
Прогноз полярного сияния от Геофизического института на Аляске
Онлайн камера, показывающая текущее состояние неба
Центр предсказания космической погоды , в особенности эта картинка.
Aurora Sky Station находится в Швеции, но там есть прогноз
Софт для iOS — прогноз на телефоне

Кемпинги, жилье

Каталог кемпингов
Еще один каталог
Кемпинг на Лофотенах

 Нет комментариев    41   11 мес   norway   travel