<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://devopsnotebook.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MilosZ</id>
	<title>DevOps Notebook - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://devopsnotebook.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MilosZ"/>
	<link rel="alternate" type="text/html" href="https://devopsnotebook.com/Special:Contributions/MilosZ"/>
	<updated>2026-04-23T15:57:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Quickly_create_folders_for_database_on_empty_drives&amp;diff=433</id>
		<title>Quickly create folders for database on empty drives</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Quickly_create_folders_for_database_on_empty_drives&amp;diff=433"/>
		<updated>2026-02-28T14:25:16Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;For powershell &amp;lt;br&amp;gt; &amp;lt;pre&amp;gt; foreach ($drive in 'A','D','R') {     foreach ($folder in 'Data','Log') {         New-Item -ItemType Directory -Force -Path &amp;quot;$drive`:\MSSQL\$folder&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For powershell &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
foreach ($drive in 'A','D','R') {&lt;br /&gt;
    foreach ($folder in 'Data','Log') {&lt;br /&gt;
        New-Item -ItemType Directory -Force -Path &amp;quot;$drive`:\MSSQL\$folder&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For CMD &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for %%d in (A D R) do (&lt;br /&gt;
    mkdir %%d:\MSSQL\Data&lt;br /&gt;
    mkdir %%d:\MSSQL\Log&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=432</id>
		<title>MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=432"/>
		<updated>2026-02-28T14:24:35Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Microsoft SQL Server==&lt;br /&gt;
&lt;br /&gt;
[[Send email using stored procedure in mssql]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup SSL Certificate for MSSQL]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup Microsoft ODBC drivers for use with pyodbc]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Quickly create folders for database on empty drives]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&amp;lt;br&amp;gt;&lt;br /&gt;
[[MSSQL Database stuck in restore state]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=431</id>
		<title>Update mysql user password</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=431"/>
		<updated>2025-08-08T09:42:15Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;Few methods of changing mysql user password&amp;lt;/big&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Method 1: Using ALTER USER (MySQL 5.7.6+)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 2: Using SET PASSWORD&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new_password');&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For MySQL 5.7.6+ you can also use:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 3: Using UPDATE (not recommended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE mysql.user SET Password = PASSWORD('new_password') &lt;br /&gt;
WHERE User = 'username' AND Host = 'hostname';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 4: Using mysqladmin (command line)&lt;br /&gt;
bashmysqladmin -u username -p password new_password&lt;br /&gt;
Method 5: Change your own password&lt;br /&gt;
If you're changing your own password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = PASSWORD('new_password');&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or in MySQL 5.7.6+:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = 'new_password';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=430</id>
		<title>Update mysql user password</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=430"/>
		<updated>2025-08-08T09:42:02Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;Few methods of changing mysql user password&amp;lt;/big&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Method 1: Using ALTER USER (MySQL 5.7.6+)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 2: Using SET PASSWORD&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new_password');&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For MySQL 5.7.6+ you can also use:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 3: Using UPDATE (not recommended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE mysql.user SET Password = PASSWORD('new_password') &lt;br /&gt;
WHERE User = 'username' AND Host = 'hostname';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 4: Using mysqladmin (command line)&lt;br /&gt;
bashmysqladmin -u username -p password new_password&lt;br /&gt;
Method 5: Change your own password&lt;br /&gt;
If you're changing your own password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = PASSWORD('new_password');&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or in MySQL 5.7.6+:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = 'new_password';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=429</id>
		<title>Update mysql user password</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=429"/>
		<updated>2025-08-08T09:41:35Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Few methods of changing mysql user password''' &amp;lt;br&amp;gt;&lt;br /&gt;
Method 1: Using ALTER USER (MySQL 5.7.6+)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 2: Using SET PASSWORD&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new_password');&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For MySQL 5.7.6+ you can also use:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 3: Using UPDATE (not recommended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE mysql.user SET Password = PASSWORD('new_password') &lt;br /&gt;
WHERE User = 'username' AND Host = 'hostname';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 4: Using mysqladmin (command line)&lt;br /&gt;
bashmysqladmin -u username -p password new_password&lt;br /&gt;
Method 5: Change your own password&lt;br /&gt;
If you're changing your own password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = PASSWORD('new_password');&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or in MySQL 5.7.6+:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = 'new_password';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=428</id>
		<title>Update mysql user password</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=428"/>
		<updated>2025-08-08T09:41:19Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Few methods of changing mysql user password'''&lt;br /&gt;
Method 1: Using ALTER USER (MySQL 5.7.6+)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 2: Using SET PASSWORD&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new_password');&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For MySQL 5.7.6+ you can also use:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 3: Using UPDATE (not recommended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE mysql.user SET Password = PASSWORD('new_password') &lt;br /&gt;
WHERE User = 'username' AND Host = 'hostname';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 4: Using mysqladmin (command line)&lt;br /&gt;
bashmysqladmin -u username -p password new_password&lt;br /&gt;
Method 5: Change your own password&lt;br /&gt;
If you're changing your own password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = PASSWORD('new_password');&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or in MySQL 5.7.6+:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = 'new_password';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=427</id>
		<title>Update mysql user password</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Update_mysql_user_password&amp;diff=427"/>
		<updated>2025-08-08T09:40:34Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt; ALTER USER 'user-name'@'some_host_ip' IDENTIFIED BY 'NEW_USER_PASSWORD';&lt;br /&gt;
mysql&amp;gt; FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Method 1: Using ALTER USER (MySQL 5.7.6+)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 2: Using SET PASSWORD&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new_password');&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For MySQL 5.7.6+ you can also use:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD FOR 'username'@'hostname' = 'new_password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 3: Using UPDATE (not recommended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE mysql.user SET Password = PASSWORD('new_password') &lt;br /&gt;
WHERE User = 'username' AND Host = 'hostname';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Method 4: Using mysqladmin (command line)&lt;br /&gt;
bashmysqladmin -u username -p password new_password&lt;br /&gt;
Method 5: Change your own password&lt;br /&gt;
If you're changing your own password:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = PASSWORD('new_password');&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Or in MySQL 5.7.6+:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SET PASSWORD = 'new_password';&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=426</id>
		<title>MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=426"/>
		<updated>2025-04-02T19:19:09Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Microsoft SQL Server==&lt;br /&gt;
&lt;br /&gt;
[[Send email using stored procedure in mssql]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup SSL Certificate for MSSQL]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup Microsoft ODBC drivers for use with pyodbc]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&amp;lt;br&amp;gt;&lt;br /&gt;
[[MSSQL Database stuck in restore state]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Setup_Microsoft_ODBC_drivers_for_use_with_pyodbc&amp;diff=425</id>
		<title>Setup Microsoft ODBC drivers for use with pyodbc</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Setup_Microsoft_ODBC_drivers_for_use_with_pyodbc&amp;diff=425"/>
		<updated>2025-04-02T19:18:44Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# /bin/bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&amp;quot;&lt;br /&gt;
# brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release&lt;br /&gt;
# brew update&lt;br /&gt;
# HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Setup_Microsoft_ODBC_drivers_for_use_with_pyodbc&amp;diff=424</id>
		<title>Setup Microsoft ODBC drivers for use with pyodbc</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Setup_Microsoft_ODBC_drivers_for_use_with_pyodbc&amp;diff=424"/>
		<updated>2025-04-02T19:17:37Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; /bin/bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&amp;quot; brew tap microsoft/mssql-release https://github...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/bin/bash -c &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&amp;quot;&lt;br /&gt;
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release&lt;br /&gt;
brew update&lt;br /&gt;
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MacOS&amp;diff=423</id>
		<title>MacOS</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MacOS&amp;diff=423"/>
		<updated>2025-04-02T19:17:00Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Recover skype chat information from files]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup Microsoft ODBC drivers for use with pyodbc]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Windows_update_are_stuck_on_downloading_or_install&amp;diff=422</id>
		<title>Windows update are stuck on downloading or install</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Windows_update_are_stuck_on_downloading_or_install&amp;diff=422"/>
		<updated>2024-09-15T13:40:16Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Reset Windows update components. ===&lt;br /&gt;
&lt;br /&gt;
Resetting Windows Update Components will fix corrupt Windows Update Components and help you to install the Windows Updates. Please follow the below steps to reset the Windows Updates Components manually:&lt;br /&gt;
&lt;br /&gt;
Press Windows Key + X on the keyboard and then select “Command Prompt (Admin)” from the menu.&lt;br /&gt;
Stop the BITS, Cryptographic, MSI Installer and the Windows Update Services. To do this, type the following commands at a command prompt. Press the “ENTER” key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net stop wuauserv&lt;br /&gt;
net stop cryptSvc&lt;br /&gt;
net stop bits&lt;br /&gt;
net stop msiserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now rename the SoftwareDistribution and Catroot2 folder. You can do this by typing the following commands in the Command Prompt. Press the “ENTER” key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old&lt;br /&gt;
ren C:\Windows\System32\catroot2 Catroot2.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, let’s restart the BITS, Cryptographic, MSI Installer and the Windows Update Services. Type the following commands in the Command Prompt for this. Press the ENTER key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net start wuauserv&lt;br /&gt;
net start cryptSvc&lt;br /&gt;
net start bits&lt;br /&gt;
net start msiserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type Exit in the Command Prompt to close it.&lt;br /&gt;
&lt;br /&gt;
Now you may try running the Windows Updates and check if the above steps resolve the issue.&lt;br /&gt;
&lt;br /&gt;
For reference: https://support.microsoft.com/en-us/kb/971058&lt;br /&gt;
&lt;br /&gt;
Optionally if update still gets stuck, you can do all steps until start,&amp;lt;br&amp;gt;&lt;br /&gt;
you can download the updates from Microsoft Catalog and update manually. Search for relevant KB in the Catalog.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Microsoft Catalog - https://www.catalog.update.microsoft.com/Home.aspx&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Windows_update_are_stuck_on_downloading_or_install&amp;diff=421</id>
		<title>Windows update are stuck on downloading or install</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Windows_update_are_stuck_on_downloading_or_install&amp;diff=421"/>
		<updated>2024-09-15T13:37:28Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot; Method 1: Reset Windows update components.  Resetting Windows Update Components will fix corrupt Windows Update Components and help you to install the Windows Updates. Please...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Method 1: Reset Windows update components.&lt;br /&gt;
&lt;br /&gt;
Resetting Windows Update Components will fix corrupt Windows Update Components and help you to install the Windows Updates. Please follow the below steps to reset the Windows Updates Components manually:&lt;br /&gt;
&lt;br /&gt;
Press Windows Key + X on the keyboard and then select “Command Prompt (Admin)” from the menu.&lt;br /&gt;
Stop the BITS, Cryptographic, MSI Installer and the Windows Update Services. To do this, type the following commands at a command prompt. Press the “ENTER” key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net stop wuauserv&lt;br /&gt;
net stop cryptSvc&lt;br /&gt;
net stop bits&lt;br /&gt;
net stop msiserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now rename the SoftwareDistribution and Catroot2 folder. You can do this by typing the following commands in the Command Prompt. Press the “ENTER” key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old&lt;br /&gt;
ren C:\Windows\System32\catroot2 Catroot2.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, let’s restart the BITS, Cryptographic, MSI Installer and the Windows Update Services. Type the following commands in the Command Prompt for this. Press the ENTER key after you type each command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net start wuauserv&lt;br /&gt;
net start cryptSvc&lt;br /&gt;
net start bits&lt;br /&gt;
net start msiserver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
5. Type Exit in the Command Prompt to close it.&lt;br /&gt;
&lt;br /&gt;
Now you may try running the Windows Updates and check if the above steps resolve the issue.&lt;br /&gt;
&lt;br /&gt;
For reference: https://support.microsoft.com/en-us/kb/971058&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Windows_troubleshooting&amp;diff=420</id>
		<title>Windows troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Windows_troubleshooting&amp;diff=420"/>
		<updated>2024-09-15T13:36:51Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;Windows update are stuck on downloading or install&amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Windows update are stuck on downloading or install]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Windows&amp;diff=419</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Windows&amp;diff=419"/>
		<updated>2024-09-15T13:36:32Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Registry]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[PowerShell]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[CMD]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Windows Group Policy Management]]&amp;lt;Br&amp;gt;&lt;br /&gt;
[[Windows troubleshooting]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Netstat&amp;diff=418</id>
		<title>Netstat</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Netstat&amp;diff=418"/>
		<updated>2024-07-25T09:56:06Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Get connections per IP sorted ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Netstat&amp;diff=417</id>
		<title>Netstat</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Netstat&amp;diff=417"/>
		<updated>2024-07-25T09:55:53Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;=== Get connections per IP sorted === &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; # netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n &amp;lt;/syntaxhighlight&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Get connections per IP sorted ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Mysqldump_all_tables_from_database_in_separate_files&amp;diff=416</id>
		<title>Mysqldump all tables from database in separate files</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Mysqldump_all_tables_from_database_in_separate_files&amp;diff=416"/>
		<updated>2024-04-05T10:23:24Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
USER=myuser&lt;br /&gt;
PASSWORD=mypwd&lt;br /&gt;
DATABASE=nameofdb&lt;br /&gt;
&lt;br /&gt;
for i in $(mysql -uUser -pPASSWORD DATABASE -e &amp;quot;show tables;&amp;quot;|grep -v Tables_in_);do mysqldump -u$USER -p$PASSWORD $DATABASE $i &amp;gt; /destination/dir/$i&amp;quot;.sql&amp;quot;;done&lt;br /&gt;
&lt;br /&gt;
tar -cjvf &amp;quot;backup_mysql_&amp;quot;$(date +'%Y%m%d')&amp;quot;.tar.bz2&amp;quot; /destination/dir/*.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# version 2&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# MySQL credentials and database information&lt;br /&gt;
USER=&amp;quot;your_mysql_username&amp;quot;&lt;br /&gt;
PASSWORD=&amp;quot;your_mysql_password&amp;quot;&lt;br /&gt;
DATABASE=&amp;quot;your_database_name&amp;quot;&lt;br /&gt;
HOST=&amp;quot;localhost&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Backup directory&lt;br /&gt;
BACKUP_DIR=&amp;quot;/path/to/your/backup/directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Date format to append to the filename&lt;br /&gt;
DATE=$(date +%Y%m%d%H%M%S)&lt;br /&gt;
&lt;br /&gt;
# MySQL dump command, don't forget to replace mysql with mysqldump if you're using MariaDB&lt;br /&gt;
MYSQLDUMP=&amp;quot;/usr/bin/mysqldump&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Check if backup directory exists&lt;br /&gt;
if [ ! -d &amp;quot;$BACKUP_DIR&amp;quot; ]; then&lt;br /&gt;
  mkdir -p &amp;quot;$BACKUP_DIR&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Get a list of all tables in the database&lt;br /&gt;
tables=$(mysql -u $USER -p$PASSWORD -h $HOST $DATABASE -e 'SHOW TABLES;' | awk '{ print $1}' | grep -v '^Tables' )&lt;br /&gt;
&lt;br /&gt;
for table in $tables; do&lt;br /&gt;
  echo &amp;quot;Dumping $table&amp;quot;&lt;br /&gt;
  $MYSQLDUMP --user=$USER --password=$PASSWORD --host=$HOST $DATABASE $table &amp;gt; &amp;quot;$BACKUP_DIR/${DATABASE}_${table}_$DATE.sql&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Backup completed!&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=DROP_ALL_tables_in_MySQL_database&amp;diff=415</id>
		<title>DROP ALL tables in MySQL database</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=DROP_ALL_tables_in_MySQL_database&amp;diff=415"/>
		<updated>2024-04-05T10:18:52Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;  DECLARE @cmd varchar(4000) DECLARE cmds CURSOR FOR SELECT 'drop table [' + Table_Name + ']' FROM INFORMATION_SCHEMA.TABLES WHERE Table_Name LIK...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt; &lt;br /&gt;
DECLARE @cmd varchar(4000)&lt;br /&gt;
DECLARE cmds CURSOR FOR&lt;br /&gt;
SELECT 'drop table [' + Table_Name + ']'&lt;br /&gt;
FROM INFORMATION_SCHEMA.TABLES&lt;br /&gt;
WHERE Table_Name LIKE 'postindex_temp%'&lt;br /&gt;
&lt;br /&gt;
OPEN cmds&lt;br /&gt;
WHILE 1 = 1&lt;br /&gt;
BEGIN&lt;br /&gt;
    FETCH cmds INTO @cmd&lt;br /&gt;
    IF @@fetch_status != 0 BREAK&lt;br /&gt;
    EXEC(@cmd)&lt;br /&gt;
END&lt;br /&gt;
CLOSE cmds;&lt;br /&gt;
DEALLOCATE cmds&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MySQL&amp;diff=414</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MySQL&amp;diff=414"/>
		<updated>2024-04-05T10:18:15Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== MariaDB ===&lt;br /&gt;
[[MaxScale]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MySQL Commands snippets ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Percona XtraBackup]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Slave replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Master replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Add MySQL Slave replication delay]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[MySQL issues and solutions]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DROP ALL databases in MySQL]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DROP ALL tables in MySQL database]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[List and DROP all table indexes in MySQL]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_and_DROP_all_table_indexes_in_MySQL&amp;diff=413</id>
		<title>List and DROP all table indexes in MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_and_DROP_all_table_indexes_in_MySQL&amp;diff=413"/>
		<updated>2024-04-05T10:16:27Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt; &lt;br /&gt;
## List all non-unique indexes&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`,&lt;br /&gt;
       GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY 1,2;&lt;br /&gt;
&lt;br /&gt;
## drop all non-unique indexes&lt;br /&gt;
SET SESSION group_concat_max_len=10240;&lt;br /&gt;
&lt;br /&gt;
SELECT CONCAT('ALTER TABLE ', `Table`, ' DROP INDEX ', GROUP_CONCAT(`Index` SEPARATOR ', DROP INDEX '),';' )&lt;br /&gt;
FROM (&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY `Table`, `Index`) AS tmp&lt;br /&gt;
GROUP BY `Table`;&lt;br /&gt;
&lt;br /&gt;
## add all non-unique indexes , WITHOUT index length spec&lt;br /&gt;
SET SESSION group_concat_max_len=10240;&lt;br /&gt;
SELECT CONCAT('ALTER TABLE ', `Table`, ' ADD INDEX ', GROUP_CONCAT(CONCAT(`Index`, '(', `Columns`, ')') SEPARATOR ',\n ADD INDEX ') )&lt;br /&gt;
FROM (&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`,&lt;br /&gt;
        GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY `Table`, `Index`) AS tmp&lt;br /&gt;
GROUP BY `Table`;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_and_DROP_all_table_indexes_in_MySQL&amp;diff=412</id>
		<title>List and DROP all table indexes in MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_and_DROP_all_table_indexes_in_MySQL&amp;diff=412"/>
		<updated>2024-04-05T10:15:38Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;   SELECT table_name AS `Table`,        index_name AS `Index`,        GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns` FROM informati...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`,&lt;br /&gt;
       GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY 1,2;&lt;br /&gt;
&lt;br /&gt;
-- drop all non-unique indexes&lt;br /&gt;
SET SESSION group_concat_max_len=10240;&lt;br /&gt;
&lt;br /&gt;
SELECT CONCAT('ALTER TABLE ', `Table`, ' DROP INDEX ', GROUP_CONCAT(`Index` SEPARATOR ', DROP INDEX '),';' )&lt;br /&gt;
FROM (&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY `Table`, `Index`) AS tmp&lt;br /&gt;
GROUP BY `Table`;&lt;br /&gt;
&lt;br /&gt;
-- add all non-unique indexes , WITHOUT index length spec&lt;br /&gt;
SET SESSION group_concat_max_len=10240;&lt;br /&gt;
SELECT CONCAT('ALTER TABLE ', `Table`, ' ADD INDEX ', GROUP_CONCAT(CONCAT(`Index`, '(', `Columns`, ')') SEPARATOR ',\n ADD INDEX ') )&lt;br /&gt;
FROM (&lt;br /&gt;
SELECT table_name AS `Table`,&lt;br /&gt;
       index_name AS `Index`,&lt;br /&gt;
        GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`&lt;br /&gt;
FROM information_schema.statistics&lt;br /&gt;
WHERE NON_UNIQUE = 1 AND table_schema = 'mydb_name' AND table_name = 'mytable_name'&lt;br /&gt;
GROUP BY `Table`, `Index`) AS tmp&lt;br /&gt;
GROUP BY `Table`;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MySQL&amp;diff=411</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MySQL&amp;diff=411"/>
		<updated>2024-04-05T10:15:01Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== MariaDB ===&lt;br /&gt;
[[MaxScale]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MySQL Commands snippets ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Percona XtraBackup]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Slave replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Master replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Add MySQL Slave replication delay]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[MySQL issues and solutions]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DROP ALL databases in MySQL]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[List and DROP all table indexes in MySQL]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Rsync&amp;diff=410</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Rsync&amp;diff=410"/>
		<updated>2023-10-25T13:48:50Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Copy files and directories and removed source with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rsync --remove-source-files -rltv --progress /backup/fullbackup-20210524 /mnt/backup/2021/05/24/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Faster delete (then rm -r) of many small files with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir empty_dir&lt;br /&gt;
$ rsync -a --delete empty_dir/    mydirfordeletion/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Rsync&amp;diff=409</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Rsync&amp;diff=409"/>
		<updated>2023-10-25T13:48:42Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Copy files and directories and removed source with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rsync --remove-source-files -rltv --progress /backup/fullbackup-20210524 /mnt/backup/2021/05/24/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Faster delete (then rm -r) of many small files with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir empty_dir&lt;br /&gt;
# rsync -a --delete empty_dir/    mydirfordeletion/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Rsync&amp;diff=408</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Rsync&amp;diff=408"/>
		<updated>2023-10-25T13:48:27Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Copy files and directories and removed source with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rsync --remove-source-files -rltv --progress /backup/fullbackup-20210524 /mnt/backup/2021/05/24/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Faster delete (then rm -r) of many small files with rsync &lt;br /&gt;
'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir empty_dir&lt;br /&gt;
# rsync -a --delete empty_dir/    mydirfordeletion/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Rsync&amp;diff=407</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Rsync&amp;diff=407"/>
		<updated>2023-10-25T13:48:08Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Copy files and directories and removed source with rsync ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rsync --remove-source-files -rltv --progress /backup/fullbackup-20210524 /mnt/backup/2021/05/24/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
### Faster delete (then rm -r) of many small files with rsync ###&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir empty_dir&lt;br /&gt;
# rsync -a --delete empty_dir/    mydirfordeletion/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=DROP_ALL_databases_in_MySQL&amp;diff=406</id>
		<title>DROP ALL databases in MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=DROP_ALL_databases_in_MySQL&amp;diff=406"/>
		<updated>2023-06-02T10:28:32Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;pre&amp;gt; SET SESSION group_concat_max_len = 1000000;  SELECT GROUP_CONCAT(   DISTINCT CONCAT('DROP DATABASE ', table_schema, ';')   SEPARATOR '' ) FROM information_schema.tables...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
SET SESSION group_concat_max_len = 1000000;&lt;br /&gt;
&lt;br /&gt;
SELECT GROUP_CONCAT(&lt;br /&gt;
  DISTINCT CONCAT('DROP DATABASE ', table_schema, ';')&lt;br /&gt;
  SEPARATOR ''&lt;br /&gt;
)&lt;br /&gt;
FROM information_schema.tables&lt;br /&gt;
WHERE table_schema NOT IN ('mysql', 'information_schema');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MySQL&amp;diff=405</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MySQL&amp;diff=405"/>
		<updated>2023-06-02T10:28:17Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== MariaDB ===&lt;br /&gt;
[[MaxScale]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MySQL Commands snippets ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Percona XtraBackup]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Slave replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Setting up MySQL Master-Master replication]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Add MySQL Slave replication delay]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[MySQL issues and solutions]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DROP ALL databases in MySQL]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Sed&amp;diff=404</id>
		<title>Sed</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Sed&amp;diff=404"/>
		<updated>2023-05-05T14:46:42Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Search and replace string in single file ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo sed -i -e &amp;quot;s/upload_max_filesize = \&amp;quot;500M\&amp;quot;/upload_max_filesize = \&amp;quot;1200M\&amp;quot;/g&amp;quot; /etc/php7.4/cli/php.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Search and replace string in multiple files recursively ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ find /etc/httpd -type f -name '*.conf' -print0 |xargs -0 sed -i -e 's/192.168.1.2/192.168.1.5/g'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Rename_multiple_files_with_powershell&amp;diff=403</id>
		<title>Rename multiple files with powershell</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Rename_multiple_files_with_powershell&amp;diff=403"/>
		<updated>2023-01-31T09:38:13Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example:&amp;lt;br&amp;gt;&lt;br /&gt;
Rename files named ''image.1.jpg, image.3.jpg''... into 1.jpg, 3.jpg &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PowerShell&amp;quot;&amp;gt;&lt;br /&gt;
Get-ChildItem image.*.jpg|ForEach-Object {&lt;br /&gt;
    $NewName = $_.Name -replace &amp;quot;^(image\.)(.*)&amp;quot;,'$2'&lt;br /&gt;
    $Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName&lt;br /&gt;
    Move-Item -Path $_.FullName -Destination $Destination -Force&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Set_DNS_with_powershell&amp;diff=402</id>
		<title>Set DNS with powershell</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Set_DNS_with_powershell&amp;diff=402"/>
		<updated>2023-01-31T09:37:46Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Set primary windows dns with powershell script===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PowerShell&amp;quot;&amp;gt;&lt;br /&gt;
$dnsserver = (,&amp;quot;1.1.1.1&amp;quot;)&lt;br /&gt;
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE | Invoke-WmiMethod -Name SetDNSServerSearchOrder -ArgumentList (,$dnsserver)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=401</id>
		<title>Setup SSL Certificate for MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=401"/>
		<updated>2023-01-31T09:37:27Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. Generate certificate on windows server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PowerShell&amp;quot;&amp;gt;&lt;br /&gt;
New-SelfSignedCertificate -Type SSLServerAuthentication -Subject &amp;quot;CN=$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot; -DnsName &amp;quot;$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot;,'localhost.' -KeyAlgorithm &amp;quot;RSA&amp;quot; -KeyLength 2048 -Hash &amp;quot;SHA256&amp;quot; -TextExtension &amp;quot;2.5.29.37={text}1.3.6.1.5.5.7.3.1&amp;quot; -NotAfter (Get-Date).AddMonths(120) -KeySpec KeyExchange -Provider &amp;quot;Microsoft RSA SChannel Cryptographic Provider&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
2. Check user that runs MSSQL from Services and add permissions to '''certlm.msc''' ''/ Personal / Certificates / &amp;lt;newcert&amp;gt; / Manage Private Keys'' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to '''Sql Server Configuration Manager''' and under ''SQL Server Network Configuration / Protocols for MSSQLSERVER'' add Certificate&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
4. Restart MSSQL service&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=400</id>
		<title>Setup SSL Certificate for MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=400"/>
		<updated>2023-01-31T09:37:16Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. Generate certificate on windows server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PowerShell&amp;quot;&amp;gt;&lt;br /&gt;
New-SelfSignedCertificate -Type SSLServerAuthentication -Subject &amp;quot;CN=$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot; -DnsName &amp;quot;$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot;,'localhost.' -KeyAlgorithm &amp;quot;RSA&amp;quot; -KeyLength 2048 -Hash &amp;quot;SHA256&amp;quot; -TextExtension &amp;quot;2.5.29.37={text}1.3.6.1.5.5.7.3.1&amp;quot; -NotAfter (Get-Date).AddMonths(120) -KeySpec KeyExchange -Provider &amp;quot;Microsoft RSA SChannel Cryptographic Provider&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
2. Check user that runs MSSQL from Services and add permissions to '''certlm.msc''' ''/ Personal / Certificates / &amp;lt;newcert&amp;gt; / Manage Private Keys'' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to '''Sql Server Configuration Manager''' and under ''SQL Server Network Configuration / Protocols for MSSQLSERVER'' add Certificate&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
4. Restart MSSQL service&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=399</id>
		<title>Setup SSL Certificate for MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Setup_SSL_Certificate_for_MSSQL&amp;diff=399"/>
		<updated>2023-01-31T09:36:21Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;1. Generate certificate on windows server &amp;lt;pre&amp;gt; New-SelfSignedCertificate -Type SSLServerAuthentication -Subject &amp;quot;CN=$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot; -DnsName &amp;quot;$env:COMPU...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. Generate certificate on windows server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
New-SelfSignedCertificate -Type SSLServerAuthentication -Subject &amp;quot;CN=$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot; -DnsName &amp;quot;$env:COMPUTERNAME.$env:USERDNSDOMAIN&amp;quot;,'localhost.' -KeyAlgorithm &amp;quot;RSA&amp;quot; -KeyLength 2048 -Hash &amp;quot;SHA256&amp;quot; -TextExtension &amp;quot;2.5.29.37={text}1.3.6.1.5.5.7.3.1&amp;quot; -NotAfter (Get-Date).AddMonths(120) -KeySpec KeyExchange -Provider &amp;quot;Microsoft RSA SChannel Cryptographic Provider&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Check user that runs MSSQL from Services and add permissions to '''certlm.msc''' ''/ Personal / Certificates / &amp;lt;newcert&amp;gt; / Manage Private Keys'' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
3. Go to '''Sql Server Configuration Manager''' and under ''SQL Server Network Configuration / Protocols for MSSQLSERVER'' add Certificate&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
4. Restart MSSQL service&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=398</id>
		<title>MSSQL</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=MSSQL&amp;diff=398"/>
		<updated>2023-01-31T07:32:28Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Microsoft SQL Server==&lt;br /&gt;
&lt;br /&gt;
[[Send email using stored procedure in mssql]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Setup SSL Certificate for MSSQL]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&amp;lt;br&amp;gt;&lt;br /&gt;
[[MSSQL Database stuck in restore state]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Troubleshoot_TrueNAS_(ex_FreeNAS)&amp;diff=397</id>
		<title>Troubleshoot TrueNAS (ex FreeNAS)</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Troubleshoot_TrueNAS_(ex_FreeNAS)&amp;diff=397"/>
		<updated>2023-01-20T18:39:08Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== External connections fails after upgrading to TrueNAS 13 with no hostkey alg ===&lt;br /&gt;
Some may have experienced ssh to TrueNAS 13 fails after upgrade with error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh xxxxx@yyyyy&lt;br /&gt;
no hostkey alg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Solution is to add these 2 parameters in ''Auxilary Options'' from SSH ''other options'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PubkeyAcceptedAlgorithms +ssh-rsa&lt;br /&gt;
HostKeyAlgorithms +ssh-rsa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Troubleshoot_TrueNAS_(ex_FreeNAS)&amp;diff=396</id>
		<title>Troubleshoot TrueNAS (ex FreeNAS)</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Troubleshoot_TrueNAS_(ex_FreeNAS)&amp;diff=396"/>
		<updated>2023-01-20T18:38:59Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;=== External connections fails after upgrading to TrueNAS 13 with no hostkey alg === Some may have experienced ssh to TrueNAS 13 fails after upgrade with error : &amp;lt;pre&amp;gt; $ ssh x...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== External connections fails after upgrading to TrueNAS 13 with no hostkey alg ===&lt;br /&gt;
Some may have experienced ssh to TrueNAS 13 fails after upgrade with error :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ssh xxxxx@yyyyy&lt;br /&gt;
no hostkey alg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Solution is to add these 2 parameters in ''Auxilary Options'' from SSH ''other options'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PubkeyAcceptedAlgorithms +ssh-rsa&lt;br /&gt;
HostKeyAlgorithms +ssh-rsa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=TrueNAS&amp;diff=395</id>
		<title>TrueNAS</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=TrueNAS&amp;diff=395"/>
		<updated>2023-01-20T18:36:25Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;Troubleshoot TrueNAS (ex FreeNAS) &amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Troubleshoot TrueNAS (ex FreeNAS) ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Main_Page&amp;diff=394</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Main_Page&amp;diff=394"/>
		<updated>2023-01-20T18:35:54Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Welcome to DevOps notebook&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Topics ==&lt;br /&gt;
[[Amazon AWS]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Dev]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Docker]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Linux]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[TrueNAS]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Windows]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[macOS]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Proxmox VE]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[QEMU KVM]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[VMWare]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Database]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Web Server]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Mail Server]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Networking]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Web development]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_2&amp;diff=393</id>
		<title>List windows drives with powershell and show volume id - Method 2</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_2&amp;diff=393"/>
		<updated>2022-12-26T11:11:36Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
 # List the disks&lt;br /&gt;
&lt;br /&gt;
function Get-EC2InstanceMetadata {&lt;br /&gt;
  param([string]$Path)&lt;br /&gt;
  (Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/latest/$Path&amp;quot;).Content &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Convert-SCSITargetIdToDeviceName {&lt;br /&gt;
  param([int]$SCSITargetId)&lt;br /&gt;
  If ($SCSITargetId -eq 0) {&lt;br /&gt;
    return &amp;quot;sda1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  $deviceName = &amp;quot;xvd&amp;quot;&lt;br /&gt;
  If ($SCSITargetId -gt 25) {&lt;br /&gt;
    $deviceName += [char](0x60 + [int]($SCSITargetId / 26))&lt;br /&gt;
  }&lt;br /&gt;
  $deviceName += [char](0x61 + $SCSITargetId % 26)&lt;br /&gt;
  return $deviceName&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Try {&lt;br /&gt;
  $InstanceId = Get-EC2InstanceMetadata &amp;quot;meta-data/instance-id&amp;quot;&lt;br /&gt;
  $AZ = Get-EC2InstanceMetadata &amp;quot;meta-data/placement/availability-zone&amp;quot;&lt;br /&gt;
  $Region = $AZ.Remove($AZ.Length - 1)&lt;br /&gt;
  $BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings&lt;br /&gt;
  $VirtualDeviceMap = @{}&lt;br /&gt;
  (Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping&amp;quot;).Split(&amp;quot;`n&amp;quot;) | ForEach-Object {&lt;br /&gt;
    $VirtualDevice = $_&lt;br /&gt;
    $BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/$VirtualDevice&amp;quot;&lt;br /&gt;
    $VirtualDeviceMap[$BlockDeviceName] = $VirtualDevice&lt;br /&gt;
    $VirtualDeviceMap[$VirtualDevice] = $BlockDeviceName&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
Catch {&lt;br /&gt;
  Write-Host &amp;quot;Could not access the AWS API, therefore, VolumeId is not available. &lt;br /&gt;
Verify that you provided your access keys.&amp;quot; -ForegroundColor Yellow&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Get-disk | ForEach-Object {&lt;br /&gt;
  $DriveLetter = $null&lt;br /&gt;
  $VolumeName = $null&lt;br /&gt;
&lt;br /&gt;
  $DiskDrive = $_&lt;br /&gt;
  $Disk = $_.Number&lt;br /&gt;
  $Partitions = $_.NumberOfPartitions&lt;br /&gt;
  $EbsVolumeID = $_.SerialNumber -replace &amp;quot;_[^ ]*$&amp;quot; -replace &amp;quot;vol&amp;quot;, &amp;quot;vol-&amp;quot;&lt;br /&gt;
  Get-Partition -DiskId $_.Path | ForEach-Object {&lt;br /&gt;
    if ($_.DriveLetter -ne &amp;quot;&amp;quot;) {&lt;br /&gt;
      $DriveLetter = $_.DriveLetter&lt;br /&gt;
      $VolumeName = (Get-PSDrive | Where-Object {$_.Name -eq $DriveLetter}).Description&lt;br /&gt;
    }&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  If ($DiskDrive.path -like &amp;quot;*PROD_PVDISK*&amp;quot;) {&lt;br /&gt;
    $BlockDeviceName = Convert-SCSITargetIdToDeviceName((Get-WmiObject -Class Win32_Diskdrive | Where-Object {$_.DeviceID -eq (&amp;quot;\\.\PHYSICALDRIVE&amp;quot; + $DiskDrive.Number) }).SCSITargetId)&lt;br /&gt;
    $BlockDeviceName = &amp;quot;/dev/&amp;quot; + $BlockDeviceName&lt;br /&gt;
    $BlockDevice = $BlockDeviceMappings | Where-Object { $BlockDeviceName -like &amp;quot;*&amp;quot;+$_.DeviceName+&amp;quot;*&amp;quot; }&lt;br /&gt;
    $EbsVolumeID = $BlockDevice.Ebs.VolumeId &lt;br /&gt;
    $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
  }&lt;br /&gt;
  ElseIf ($DiskDrive.path -like &amp;quot;*PROD_AMAZON_EC2_NVME*&amp;quot;) {&lt;br /&gt;
    $BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/ephemeral$((Get-WmiObject -Class Win32_Diskdrive | Where-Object {$_.DeviceID -eq (&amp;quot;\\.\PHYSICALDRIVE&amp;quot;+$DiskDrive.Number) }).SCSIPort - 2)&amp;quot;&lt;br /&gt;
    $BlockDevice = $null&lt;br /&gt;
    $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
  }&lt;br /&gt;
  ElseIf ($DiskDrive.path -like &amp;quot;*PROD_AMAZON*&amp;quot;) {&lt;br /&gt;
    $BlockDevice = &amp;quot;&amp;quot;&lt;br /&gt;
    $BlockDeviceName = ($BlockDeviceMappings | Where-Object {$_.ebs.VolumeId -eq $EbsVolumeID}).DeviceName&lt;br /&gt;
    $VirtualDevice = $null&lt;br /&gt;
  }&lt;br /&gt;
  Else {&lt;br /&gt;
    $BlockDeviceName = $null&lt;br /&gt;
    $BlockDevice = $null&lt;br /&gt;
    $VirtualDevice = $null&lt;br /&gt;
  }&lt;br /&gt;
  New-Object PSObject -Property @{&lt;br /&gt;
    Disk          = $Disk;&lt;br /&gt;
    Partitions    = $Partitions;&lt;br /&gt;
    DriveLetter   = If ($DriveLetter -eq $null) { &amp;quot;N/A&amp;quot; } Else { $DriveLetter };&lt;br /&gt;
    EbsVolumeId   = If ($EbsVolumeID -eq $null) { &amp;quot;N/A&amp;quot; } Else { $EbsVolumeID };&lt;br /&gt;
    Device        = If ($BlockDeviceName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDeviceName };&lt;br /&gt;
    VirtualDevice = If ($VirtualDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VirtualDevice };&lt;br /&gt;
    VolumeName    = If ($VolumeName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VolumeName };&lt;br /&gt;
  }&lt;br /&gt;
} | Sort-Object Disk | Format-Table -AutoSize -Property Disk, Partitions, DriveLetter, EbsVolumeId, Device, VirtualDevice, VolumeName &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_1&amp;diff=392</id>
		<title>List windows drives with powershell and show volume id - Method 1</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_1&amp;diff=392"/>
		<updated>2022-12-26T11:11:19Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
# List the Windows disks&lt;br /&gt;
&lt;br /&gt;
function Get-EC2InstanceMetadata&lt;br /&gt;
{&lt;br /&gt;
	param([string]$Path)Set-ExecutionPolicy RemoteSigned&lt;br /&gt;
	(Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/latest/$Path&amp;quot;).Content &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Convert-SCSITargetIdToDeviceName&lt;br /&gt;
{&lt;br /&gt;
    param([int]$SCSITargetId)&lt;br /&gt;
	If ($SCSITargetId -eq 0) {&lt;br /&gt;
		return &amp;quot;/dev/sda1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	$deviceName = &amp;quot;xvd&amp;quot;&lt;br /&gt;
	If ($SCSITargetId -gt 25) {&lt;br /&gt;
		$deviceName += [char](0x60 + [int]($SCSITargetId / 26))&lt;br /&gt;
	}&lt;br /&gt;
	$deviceName += [char](0x61 + $SCSITargetId % 26)&lt;br /&gt;
	return $deviceName&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Try {&lt;br /&gt;
	$InstanceId = Get-EC2InstanceMetadata &amp;quot;meta-data/instance-id&amp;quot;&lt;br /&gt;
	$AZ = Get-EC2InstanceMetadata &amp;quot;meta-data/placement/availability-zone&amp;quot;&lt;br /&gt;
	$Region = $AZ.Remove($AZ.Length - 1)&lt;br /&gt;
	$BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings&lt;br /&gt;
	$VirtualDeviceMap = @{}&lt;br /&gt;
	(Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping&amp;quot;).Split(&amp;quot;`n&amp;quot;) | ForEach-Object {&lt;br /&gt;
		$VirtualDevice = $_&lt;br /&gt;
		$BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/$VirtualDevice&amp;quot;&lt;br /&gt;
		$VirtualDeviceMap[$BlockDeviceName] = $VirtualDevice&lt;br /&gt;
		$VirtualDeviceMap[$VirtualDevice] = $BlockDeviceName&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
Catch {&lt;br /&gt;
	Write-Host &amp;quot;Could not access the AWS API, therefore, VolumeId is not available. &lt;br /&gt;
	Verify that you provided your access keys.&amp;quot; -ForegroundColor Yellow&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Get-WmiObject -Class Win32_DiskDrive | ForEach-Object {&lt;br /&gt;
    $DiskDrive = $_&lt;br /&gt;
	$Volumes = Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_DiskDrive.DeviceID='$($DiskDrive.DeviceID)'} WHERE AssocClass=Win32_DiskDriveToDiskPartition&amp;quot; | ForEach-Object {&lt;br /&gt;
		$DiskPartition = $_&lt;br /&gt;
		Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_DiskPartition.DeviceID='$($DiskPartition.DeviceID)'} WHERE AssocClass=Win32_LogicalDiskToPartition&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	If ($DiskDrive.PNPDeviceID -like &amp;quot;*PROD_PVDISK*&amp;quot;) {&lt;br /&gt;
		$BlockDeviceName = Convert-SCSITargetIdToDeviceName($DiskDrive.SCSITargetId)&lt;br /&gt;
		$BlockDevice = $BlockDeviceMappings | Where-Object { $_.DeviceName -eq $BlockDeviceName }&lt;br /&gt;
		$VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
	} ElseIf ($DiskDrive.PNPDeviceID -like &amp;quot;*PROD_AMAZON_EC2_NVME*&amp;quot;) {&lt;br /&gt;
		$BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/ephemeral$($DiskDrive.SCSIPort - 2)&amp;quot;&lt;br /&gt;
		$BlockDevice = $null&lt;br /&gt;
		$VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
	} Else {&lt;br /&gt;
		$BlockDeviceName = $null&lt;br /&gt;
		$BlockDevice = $null&lt;br /&gt;
		$VirtualDevice = $null&lt;br /&gt;
	}&lt;br /&gt;
	New-Object PSObject -Property @{&lt;br /&gt;
		Disk = $DiskDrive.Index;&lt;br /&gt;
		Partitions = $DiskDrive.Partitions;&lt;br /&gt;
		DriveLetter = If ($Volumes -eq $null) { &amp;quot;N/A&amp;quot; } Else { $Volumes.DeviceID };&lt;br /&gt;
		EbsVolumeId = If ($BlockDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDevice.Ebs.VolumeId };&lt;br /&gt;
		Device = If ($BlockDeviceName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDeviceName };&lt;br /&gt;
		VirtualDevice = If ($VirtualDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VirtualDevice };&lt;br /&gt;
		VolumeName = If ($Volumes -eq $null) { &amp;quot;N/A&amp;quot; } Else { $Volumes.VolumeName };&lt;br /&gt;
	}&lt;br /&gt;
} | Sort-Object Disk | Format-Table - &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=391</id>
		<title>Amazon EC2</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=391"/>
		<updated>2022-12-26T10:42:33Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Initialize disks in Amazon EC2 in Windows ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PS C:\&amp;gt; C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check if instance returns meta-data info and fix routes on windows server ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps&amp;gt; Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/&lt;br /&gt;
ps&amp;gt; Import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unable to resolve package source 'https://www.powershellgallery.com/api/v2' ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List windows drives with powershell and show volume id ===&lt;br /&gt;
[[List windows drives with powershell and show volume id - Method 1]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[List windows drives with powershell and show volume id - Method 2]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_2&amp;diff=390</id>
		<title>List windows drives with powershell and show volume id - Method 2</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_2&amp;diff=390"/>
		<updated>2022-12-26T10:42:16Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;pre&amp;gt;  # List the disks  function Get-EC2InstanceMetadata {   param([string]$Path)   (Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/latest/$Path&amp;quot;).Content  }  function Conver...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
 # List the disks&lt;br /&gt;
&lt;br /&gt;
function Get-EC2InstanceMetadata {&lt;br /&gt;
  param([string]$Path)&lt;br /&gt;
  (Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/latest/$Path&amp;quot;).Content &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Convert-SCSITargetIdToDeviceName {&lt;br /&gt;
  param([int]$SCSITargetId)&lt;br /&gt;
  If ($SCSITargetId -eq 0) {&lt;br /&gt;
    return &amp;quot;sda1&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  $deviceName = &amp;quot;xvd&amp;quot;&lt;br /&gt;
  If ($SCSITargetId -gt 25) {&lt;br /&gt;
    $deviceName += [char](0x60 + [int]($SCSITargetId / 26))&lt;br /&gt;
  }&lt;br /&gt;
  $deviceName += [char](0x61 + $SCSITargetId % 26)&lt;br /&gt;
  return $deviceName&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Try {&lt;br /&gt;
  $InstanceId = Get-EC2InstanceMetadata &amp;quot;meta-data/instance-id&amp;quot;&lt;br /&gt;
  $AZ = Get-EC2InstanceMetadata &amp;quot;meta-data/placement/availability-zone&amp;quot;&lt;br /&gt;
  $Region = $AZ.Remove($AZ.Length - 1)&lt;br /&gt;
  $BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings&lt;br /&gt;
  $VirtualDeviceMap = @{}&lt;br /&gt;
  (Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping&amp;quot;).Split(&amp;quot;`n&amp;quot;) | ForEach-Object {&lt;br /&gt;
    $VirtualDevice = $_&lt;br /&gt;
    $BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/$VirtualDevice&amp;quot;&lt;br /&gt;
    $VirtualDeviceMap[$BlockDeviceName] = $VirtualDevice&lt;br /&gt;
    $VirtualDeviceMap[$VirtualDevice] = $BlockDeviceName&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
Catch {&lt;br /&gt;
  Write-Host &amp;quot;Could not access the AWS API, therefore, VolumeId is not available. &lt;br /&gt;
Verify that you provided your access keys.&amp;quot; -ForegroundColor Yellow&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Get-disk | ForEach-Object {&lt;br /&gt;
  $DriveLetter = $null&lt;br /&gt;
  $VolumeName = $null&lt;br /&gt;
&lt;br /&gt;
  $DiskDrive = $_&lt;br /&gt;
  $Disk = $_.Number&lt;br /&gt;
  $Partitions = $_.NumberOfPartitions&lt;br /&gt;
  $EbsVolumeID = $_.SerialNumber -replace &amp;quot;_[^ ]*$&amp;quot; -replace &amp;quot;vol&amp;quot;, &amp;quot;vol-&amp;quot;&lt;br /&gt;
  Get-Partition -DiskId $_.Path | ForEach-Object {&lt;br /&gt;
    if ($_.DriveLetter -ne &amp;quot;&amp;quot;) {&lt;br /&gt;
      $DriveLetter = $_.DriveLetter&lt;br /&gt;
      $VolumeName = (Get-PSDrive | Where-Object {$_.Name -eq $DriveLetter}).Description&lt;br /&gt;
    }&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  If ($DiskDrive.path -like &amp;quot;*PROD_PVDISK*&amp;quot;) {&lt;br /&gt;
    $BlockDeviceName = Convert-SCSITargetIdToDeviceName((Get-WmiObject -Class Win32_Diskdrive | Where-Object {$_.DeviceID -eq (&amp;quot;\\.\PHYSICALDRIVE&amp;quot; + $DiskDrive.Number) }).SCSITargetId)&lt;br /&gt;
    $BlockDeviceName = &amp;quot;/dev/&amp;quot; + $BlockDeviceName&lt;br /&gt;
    $BlockDevice = $BlockDeviceMappings | Where-Object { $BlockDeviceName -like &amp;quot;*&amp;quot;+$_.DeviceName+&amp;quot;*&amp;quot; }&lt;br /&gt;
    $EbsVolumeID = $BlockDevice.Ebs.VolumeId &lt;br /&gt;
    $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
  }&lt;br /&gt;
  ElseIf ($DiskDrive.path -like &amp;quot;*PROD_AMAZON_EC2_NVME*&amp;quot;) {&lt;br /&gt;
    $BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/ephemeral$((Get-WmiObject -Class Win32_Diskdrive | Where-Object {$_.DeviceID -eq (&amp;quot;\\.\PHYSICALDRIVE&amp;quot;+$DiskDrive.Number) }).SCSIPort - 2)&amp;quot;&lt;br /&gt;
    $BlockDevice = $null&lt;br /&gt;
    $VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
  }&lt;br /&gt;
  ElseIf ($DiskDrive.path -like &amp;quot;*PROD_AMAZON*&amp;quot;) {&lt;br /&gt;
    $BlockDevice = &amp;quot;&amp;quot;&lt;br /&gt;
    $BlockDeviceName = ($BlockDeviceMappings | Where-Object {$_.ebs.VolumeId -eq $EbsVolumeID}).DeviceName&lt;br /&gt;
    $VirtualDevice = $null&lt;br /&gt;
  }&lt;br /&gt;
  Else {&lt;br /&gt;
    $BlockDeviceName = $null&lt;br /&gt;
    $BlockDevice = $null&lt;br /&gt;
    $VirtualDevice = $null&lt;br /&gt;
  }&lt;br /&gt;
  New-Object PSObject -Property @{&lt;br /&gt;
    Disk          = $Disk;&lt;br /&gt;
    Partitions    = $Partitions;&lt;br /&gt;
    DriveLetter   = If ($DriveLetter -eq $null) { &amp;quot;N/A&amp;quot; } Else { $DriveLetter };&lt;br /&gt;
    EbsVolumeId   = If ($EbsVolumeID -eq $null) { &amp;quot;N/A&amp;quot; } Else { $EbsVolumeID };&lt;br /&gt;
    Device        = If ($BlockDeviceName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDeviceName };&lt;br /&gt;
    VirtualDevice = If ($VirtualDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VirtualDevice };&lt;br /&gt;
    VolumeName    = If ($VolumeName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VolumeName };&lt;br /&gt;
  }&lt;br /&gt;
} | Sort-Object Disk | Format-Table -AutoSize -Property Disk, Partitions, DriveLetter, EbsVolumeId, Device, VirtualDevice, VolumeName &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=389</id>
		<title>Amazon EC2</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=389"/>
		<updated>2022-12-26T10:41:43Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Initialize disks in Amazon EC2 in Windows ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PS C:\&amp;gt; C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check if instance returns meta-data info and fix routes on windows server ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps&amp;gt; Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/&lt;br /&gt;
ps&amp;gt; Import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unable to resolve package source 'https://www.powershellgallery.com/api/v2' ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List windows drives with powershell and show volume id ===&lt;br /&gt;
[[List windows drives with powershell and show volume id - Method 1]]&lt;br /&gt;
[[List windows drives with powershell and show volume id - Method 2]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_1&amp;diff=388</id>
		<title>List windows drives with powershell and show volume id - Method 1</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=List_windows_drives_with_powershell_and_show_volume_id_-_Method_1&amp;diff=388"/>
		<updated>2022-12-26T10:41:14Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;&amp;lt;pre&amp;gt;  # List the Windows disks  function Get-EC2InstanceMetadata { 	param([string]$Path)Set-ExecutionPolicy RemoteSigned 	(Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/late...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt; &lt;br /&gt;
# List the Windows disks&lt;br /&gt;
&lt;br /&gt;
function Get-EC2InstanceMetadata&lt;br /&gt;
{&lt;br /&gt;
	param([string]$Path)Set-ExecutionPolicy RemoteSigned&lt;br /&gt;
	(Invoke-WebRequest -Uri &amp;quot;http://169.254.169.254/latest/$Path&amp;quot;).Content &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Convert-SCSITargetIdToDeviceName&lt;br /&gt;
{&lt;br /&gt;
    param([int]$SCSITargetId)&lt;br /&gt;
	If ($SCSITargetId -eq 0) {&lt;br /&gt;
		return &amp;quot;/dev/sda1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	$deviceName = &amp;quot;xvd&amp;quot;&lt;br /&gt;
	If ($SCSITargetId -gt 25) {&lt;br /&gt;
		$deviceName += [char](0x60 + [int]($SCSITargetId / 26))&lt;br /&gt;
	}&lt;br /&gt;
	$deviceName += [char](0x61 + $SCSITargetId % 26)&lt;br /&gt;
	return $deviceName&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Try {&lt;br /&gt;
	$InstanceId = Get-EC2InstanceMetadata &amp;quot;meta-data/instance-id&amp;quot;&lt;br /&gt;
	$AZ = Get-EC2InstanceMetadata &amp;quot;meta-data/placement/availability-zone&amp;quot;&lt;br /&gt;
	$Region = $AZ.Remove($AZ.Length - 1)&lt;br /&gt;
	$BlockDeviceMappings = (Get-EC2Instance -Region $Region -Instance $InstanceId).Instances.BlockDeviceMappings&lt;br /&gt;
	$VirtualDeviceMap = @{}&lt;br /&gt;
	(Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping&amp;quot;).Split(&amp;quot;`n&amp;quot;) | ForEach-Object {&lt;br /&gt;
		$VirtualDevice = $_&lt;br /&gt;
		$BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/$VirtualDevice&amp;quot;&lt;br /&gt;
		$VirtualDeviceMap[$BlockDeviceName] = $VirtualDevice&lt;br /&gt;
		$VirtualDeviceMap[$VirtualDevice] = $BlockDeviceName&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
Catch {&lt;br /&gt;
	Write-Host &amp;quot;Could not access the AWS API, therefore, VolumeId is not available. &lt;br /&gt;
	Verify that you provided your access keys.&amp;quot; -ForegroundColor Yellow&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Get-WmiObject -Class Win32_DiskDrive | ForEach-Object {&lt;br /&gt;
    $DiskDrive = $_&lt;br /&gt;
	$Volumes = Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_DiskDrive.DeviceID='$($DiskDrive.DeviceID)'} WHERE AssocClass=Win32_DiskDriveToDiskPartition&amp;quot; | ForEach-Object {&lt;br /&gt;
		$DiskPartition = $_&lt;br /&gt;
		Get-WmiObject -Query &amp;quot;ASSOCIATORS OF {Win32_DiskPartition.DeviceID='$($DiskPartition.DeviceID)'} WHERE AssocClass=Win32_LogicalDiskToPartition&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	If ($DiskDrive.PNPDeviceID -like &amp;quot;*PROD_PVDISK*&amp;quot;) {&lt;br /&gt;
		$BlockDeviceName = Convert-SCSITargetIdToDeviceName($DiskDrive.SCSITargetId)&lt;br /&gt;
		$BlockDevice = $BlockDeviceMappings | Where-Object { $_.DeviceName -eq $BlockDeviceName }&lt;br /&gt;
		$VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
	} ElseIf ($DiskDrive.PNPDeviceID -like &amp;quot;*PROD_AMAZON_EC2_NVME*&amp;quot;) {&lt;br /&gt;
		$BlockDeviceName = Get-EC2InstanceMetadata &amp;quot;meta-data/block-device-mapping/ephemeral$($DiskDrive.SCSIPort - 2)&amp;quot;&lt;br /&gt;
		$BlockDevice = $null&lt;br /&gt;
		$VirtualDevice = If ($VirtualDeviceMap.ContainsKey($BlockDeviceName)) { $VirtualDeviceMap[$BlockDeviceName] } Else { $null }&lt;br /&gt;
	} Else {&lt;br /&gt;
		$BlockDeviceName = $null&lt;br /&gt;
		$BlockDevice = $null&lt;br /&gt;
		$VirtualDevice = $null&lt;br /&gt;
	}&lt;br /&gt;
	New-Object PSObject -Property @{&lt;br /&gt;
		Disk = $DiskDrive.Index;&lt;br /&gt;
		Partitions = $DiskDrive.Partitions;&lt;br /&gt;
		DriveLetter = If ($Volumes -eq $null) { &amp;quot;N/A&amp;quot; } Else { $Volumes.DeviceID };&lt;br /&gt;
		EbsVolumeId = If ($BlockDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDevice.Ebs.VolumeId };&lt;br /&gt;
		Device = If ($BlockDeviceName -eq $null) { &amp;quot;N/A&amp;quot; } Else { $BlockDeviceName };&lt;br /&gt;
		VirtualDevice = If ($VirtualDevice -eq $null) { &amp;quot;N/A&amp;quot; } Else { $VirtualDevice };&lt;br /&gt;
		VolumeName = If ($Volumes -eq $null) { &amp;quot;N/A&amp;quot; } Else { $Volumes.VolumeName };&lt;br /&gt;
	}&lt;br /&gt;
} | Sort-Object Disk | Format-Table - &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=387</id>
		<title>Amazon EC2</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Amazon_EC2&amp;diff=387"/>
		<updated>2022-12-26T10:40:58Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Initialize disks in Amazon EC2 in Windows ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PS C:\&amp;gt; C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check if instance returns meta-data info and fix routes on windows server ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ps&amp;gt; Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/&lt;br /&gt;
ps&amp;gt; Import-Module c:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psm1 ; Add-Routes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unable to resolve package source 'https://www.powershellgallery.com/api/v2' ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== List windows drives with powershell and show volume id ===&lt;br /&gt;
[[List windows drives with powershell and show volume id - Method 1]]&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Regex&amp;diff=386</id>
		<title>Regex</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Regex&amp;diff=386"/>
		<updated>2022-11-20T10:51:09Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: Created page with &amp;quot;=== IP Address regex === &amp;lt;pre&amp;gt; (\d{1,3}\.){3}\d{1,3} &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== IP Address regex ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(\d{1,3}\.){3}\d{1,3}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Dev&amp;diff=385</id>
		<title>Dev</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Dev&amp;diff=385"/>
		<updated>2022-11-20T10:50:41Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Git]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Regex]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
	<entry>
		<id>https://devopsnotebook.com/index.php?title=Linux_cli_snippets&amp;diff=384</id>
		<title>Linux cli snippets</title>
		<link rel="alternate" type="text/html" href="https://devopsnotebook.com/index.php?title=Linux_cli_snippets&amp;diff=384"/>
		<updated>2022-09-14T11:49:38Z</updated>

		<summary type="html">&lt;p&gt;MilosZ: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Linux command line snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Get website SSL certificate details using CLI ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo | openssl s_client -showcerts -servername sendfileto.net -connect sendfileto.net:443 2&amp;gt;/dev/null | openssl x509 -inform pem -noout -text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Temporary stop bash history ===&lt;br /&gt;
Turn off:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ set +o history&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Turn on:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ set -o history&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternative is to add '''HISTCONTROL=&amp;quot;ignorespace&amp;quot;''' into ''.bashrc'' file and all things &lt;br /&gt;
written with space in front wont be recorded in history&lt;br /&gt;
&lt;br /&gt;
=== Check ssl expiry date on file from cli ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# openssl x509 -noout -dates -in /path/to/cert.crt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Check ssl expiry date from linux cli ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo | openssl s_client -showcerts -servername devopsnotebook.com -connect devopsnotebook.com:443 2&amp;gt;/dev/null | openssl x509 -inform pem -noout -text |grep 'Not After'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start all vm's with autostart set with virsh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for i in $(virsh list --name --autostart); do virsh start $i; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sort files by size with ls ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls -l -S | sort -k 5 -n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change different permissions to files and folders in one run recursively ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# find /path/to/dir -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Search and replace string in all files recursively in given folder === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# find ./ -type f -exec sed -i -e 's/tomato/potato/g' {} \;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Destroy all partitions table and data on drive ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sgdisk --zap-all /dev/nvme0n1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Push dns changes to secondary ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rndc retransfer domain.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Delete 5 lines after a pattern with sed (including the line with the pattern) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sed -e '/pattern/,+5d' file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Delete 5 lines after a pattern with sed (excluding the line with the pattern) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sed -e '/pattern/{n;N;N;N;N;d}' file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User iperf to test real bandwidth speed ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# iperf -s # run on first machine &lt;br /&gt;
# iperf -c &amp;lt;IP of server&amp;gt; # run on second with ip of first one&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Get only first exact result from grep ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# grep -o -a -m 1 -h -r &amp;quot;string&amp;quot; &amp;lt;filename.txt&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MilosZ</name></author>
		
	</entry>
</feed>