Home
- Details
- Written by: po3dno
- Category: Other
- Hits: 960
Архивы
Создать архив .tar/.tar.gz
tar -cvf file.tar /full/path — создать .tar (без сжатия)
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив GZip)
Распаковать архив .tar/.tar.gz
tar -xvf file.tar — распаковать обычный .tar (без сжатия)
tar -xzvf file.tar.gz — распаковать .tar.gz (запакованны GZip-ом)
Распаковать архив .gz (GZip, без TAR)
gunzip file.gz — распаковать обычный .gz (GZip, без TAR. Распаковываемый архив должен иметь права на исполнение: chmod +x file.gz)
Базы данных MySQL
Импорт дампа базы данных
mysql -u db_user -p -h localhost db_name < dump.sql
Импорт дампа базы данных, упакованных в gzip (*.sql.gz)
gunzip < dump.sql.gz | mysql -u db_user -p db_name
Экспорт базы данных (создание дампа)
mysqldump -u db_user -p -h localhost db_name > dump.sql
Создание архива GZip с дампом БД
mysqldump -u db_user -p -h localhost db_name | gzip > dump.tar.gz
Создание дампа нескольких баз данных одновременно
mysqldump -u db_user -p -h localhost -B db_name1 db_name2 db_name3 > databases.sql
Создание дампа всех баз данных
mysqldump -u db_user -p -h localhost -A > all-databases.sql
Сохранить только структуру БД
mysqldump —no-data -u db_user -p -h localhost db_name > schema.sql
Создание дампа только одной или нескольких таблиц БД
mysqldump -u db_user -p -h localhost db_name tbl_name1 tbl_name2 tbl_name3 > dump.sql
Дополнительные атрибуты (уменьшают размер дампа и повышают скорость работы)
mysqldump -Q -c -e -u db_user -p -h localhost db_name > /path/to/file/dump.sql
— Q — оборачивает имена обратными кавычками;
— c — делает полную вставку, включая имена колонок;
— e — делает расширенную вставку.
Если не запускается MySQL, лог ошибок можно увидеть прямо в консоли (команда для Windows)
mysqld —defaults-file=C:Program Files…my.ini —console
Файлы/директории
Узнать абсолютный путь до текущего каталога
pwd
Удалить папку со всем ее содержимым
rm -R /path/to/dir
Создать символьную ссылку
ln -s /etc/apache2/sites-available/site.com.conf /etc/apache2/sites-enabled/site.com.conf
Подсчитать количество файлов в текущем каталоге (включая вложенные)
find . -type f | wc -l
Подсчитать занимаемый размер каталога
du -sh /var
Вывести на экран количество файлов в поддиректориях текущего каталога
for D in `ls -Fl | grep / | awk ‘{print $9}’` ; do echo $D `find -L $D -type f -print | wc -l` ; done
Удалить в директории все файлы старше N дней
find /home/user -type f -mtime +N -exec rm {} ;
Узнать информацию об использовании inodes (файловых дескрипторов):
df -i
Создать патч
diff -uN file.orig file.new > file.patch
Наложить патч
patch file.orig < file.patch
Найти определенные файлы и скопировать их с сохранением иерархии
find . -name «ru.po» -exec cp —parents «{}» /destination/dir/ «;»
Прочее
Вывести последние 10 строк из лог-файла, с автообновлением в реальном времени
tail -n10 -f /var/log/sites/your-site.ru.error.log
(путь до файлов с логами Apache у вас скорее всего будет другим)
Узнать информацию о процессоре
cat /proc/cpuinfo
или
lscpu
Показать ТОП10 медленных запросов MySQL (сортировка по времени исполнения time):
mysqldumpslow -s t -t 10 /var/log/mysql-slow.log
Показать ТОП10 запросов MySQL, в который не используются индексы (сортировка по кол-ву вызовов count):
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
Установить корректно конвертер шрифтов (Debian):
apt-get install libssl-dev build-essential zlibc zlib-bin libidn11-dev libidn11
wget http://people.mozilla.com/~jkew/woff/woff-code-latest.zip
unzip woff-code-latest.zip -d sfnt2woff && cd sfnt2woff && make && mv sfnt2woff /usr/local/bin/
- Details
- Written by: po3dno
- Category: MSSQL
- Hits: 1010
CREATE PROCEDURE dbo.AddNewDBsToGroup
@group SYSNAME = N'sql01_sme_AG', -- *** SPECIFY YOUR GROUP NAME HERE ***
@debug BIT = 1
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@sql NVARCHAR(MAX) = N'';
DECLARE @t TABLE(db SYSNAME);
INSERT @t SELECT name FROM sys.databases
WHERE replica_id IS NULL AND database_id > 4;
-- add the database to the group on the primary:
SELECT @sql += N'ALTER AVAILABILITY GROUP '
+ QUOTENAME(@group) + ' ADD DATABASE ' + QUOTENAME(db) + ';'
FROM @t;
IF @debug = 1
BEGIN
PRINT @sql;
END
ELSE
BEGIN
EXEC master..sp_executesql @sql;
END
END
GO
EXEC dbo.AddNewDBsToGroup @debug = 0;
- Details
- Written by: po3dno
- Category: C#
- Hits: 1102
using System;using System.Collections.Generic;using System.Linq;using System.IO;using System.Threading;using System.Text.RegularExpressions;using System.Collections.Concurrent;namespace dns_log_parser{ class Program { static long offset = 0; //static FileStream file; static StreamReader reader; static ConcurrentDictionary<(string, string), int> dnsstat = new ConcurrentDictionary<(string, string), int>(); static void Main(string[] args) { if (args.Count() < 1) { Console.WriteLine("Usage: dns_log_parser.exe [path_to_log]"); Environment.Exit(0); } string sourceFile = args[0]; if (!File.Exists(sourceFile)) { Console.WriteLine("{0} not exist", sourceFile); Environment.Exit(0); } offset = (new FileInfo(sourceFile)).Length; Timer t = new Timer(TimerCallback, null, 0, 2000); while (true) { FileStream file = new FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); var info = new FileInfo(sourceFile); if (info.Length < offset) offset = 0; using (new StreamReader(file)) { file.Seek(offset, SeekOrigin.Begin); reader = new StreamReader(file); file.Seek(offset, SeekOrigin.Begin); if (!reader.EndOfStream) { do { string line = reader.ReadLine(); // ^.+Rcv\s+([0-9\.]+)\s+([0-9A-Fa-f]+)\s+.+\[.+\]\s+(\w+)\s+\(\d\)(.+)\(0\)$ Regex regex = new Regex(@"^.+Rcv\s+([0-9\.]+)\s+([0-9A-Fa-f]+)\s+.+\[.+\]\s+(\w+)\s+\(\d\)(.+)\(0\)$"); Match match = regex.Match(line); if (match.Success) { string ip = match.Groups[1].Value; //string dsthost = match.Groups[4].Value; string dsthost = Regex.Replace(match.Groups[4].Value, @"\(\d+\)+", "."); int curcount; if (dnsstat.TryGetValue((ip, dsthost), out curcount)) { dnsstat[(ip, dsthost)] = curcount + 1; if (curcount % 10 == 0) { //Console.WriteLine("ip: {0} dns: {1} count: {2}", ip, dsthost, curcount); } } else { dnsstat.TryAdd((ip, dsthost), 1); } //Console.WriteLine("{0} {1}", ip, dsthost); } } while (!reader.EndOfStream); offset = file.Position; //Console.WriteLine("{0}", offset); } reader.Close(); Thread.Sleep(100); } } } private static void TimerCallback(Object o) { ConcurrentDictionary<(string, string), int> dnsstatviewtemp = dnsstat; var dnsstatview = dnsstatviewtemp.OrderByDescending(x => x.Value).Take(50); Console.Clear(); foreach (KeyValuePair<(string, string), int> item in dnsstatview) { Console.WriteLine("Key: {0}, Value: {1}", item.Key, item.Value); } } }}- Details
- Written by: po3dno
- Category: Power Shell
- Hits: 1023
Sysprep /generalize /shutdown /oobe
First, mount the vhd using
Mount-WindowsImage -ImagePath C:\VHDs\BigHomies.vhdx -Path C:\VHDMount -Index 1
Then, capture it into a wim with
New-WindowsImage -CapturePath C:\VHDMount -Name Win7Image -ImagePath C:\CapturedWIMs\Win7.wim -Description "Yet another Windows 7 Image" -Verify
And let it do it's thing. When you are done you can unmount the vhd and discard any changes using:
Dismount-WindowsImage -Path C:\VHDMount -Discard
- Details
- Written by: po3dno
- Category: MSSQL
- Hits: 1083
sql01_sme_AG_sql01-sme1c Online sql01_sme_AG Network Name
Get-ClusterResource sql01_sme_AG_sql01-sme1c |Set-ClusterParameter -Name RegisterAllProvidersIP -Value 0
Get-ClusterResource sql01_sme_AG_sql01-sme1c |Set-ClusterParameter -Name RegisterAllProvidersIP -Value 0
Get-ClusterResource sql01_sme_AG_sql01-sme1c | Update-ClusterNetworkNameResource