# Linux - Bag of Tricks

## Introduction

This document has many useful command.

### Change Files and Folder Permissions

To change the permissions of files to 655 and subfolders to 755 (which is the common practice for directories to allow execution for navigating into them) within a specified directory and its subdirectories, you can use the `find` command with `chmod`.

Explanation of permissions:

- <div class="zMgcWd dSKvsb" data-il=""><div data-crb-p=""><div class="xFTqob"><div class="Gur8Ad"><span data-huuid="5743926955397761133">**655 for files:**</span></div><div class="vM0jzc">
    - <span data-huuid="5743926955397761748">Owner: Read (4) + Write (2) = 6</span>
    - <span data-huuid="5743926955397762158">Group: Read (4) + Execute (1) = 5</span>
    - <span data-huuid="5743926955397762568">Others: Read (4) + Execute (1) = 5</span>
    
    </div></div></div></div>
- <div class="zMgcWd dSKvsb" data-il=""><div data-crb-p=""><div class="xFTqob"><div class="Gur8Ad"><span data-huuid="5743926955397762978">**755 for directories:**</span></div><div class="vM0jzc">
    - <span data-huuid="5743926955397759497">Owner: Read (4) + Write (2) + Execute (1) = 7</span>
    - <span data-huuid="5743926955397759907">Group: Read (4) + Execute (1) = 5</span>
    - <span data-huuid="5743926955397760317">Others: Read (4) + Execute (1) = 5</span>
    
    </div></div></div></div>

Command

```bash
find /path/to/directory -type f -exec chmod 655 {} +
find /path/to/directory -type d -exec chmod 755 {} +

find /path/to/directory \( -type d -exec chmod 755 {} + \) -o \( -type f -exec chmod 644 {} + \)

chmod -R u+rwX,go+rX,go-w /path/to/directory

find /path/to/directory -type d -print0 | xargs -0 chmod 755
find /path/to/directory -type f -print0   | xargs -0 chmod 644

find /path/to/directory -print0 \
  \( -type d -exec chmod 755 {} + \) \
  -o \( -type f -exec chmod 644 {} + \)
```

### Linux Set Time Examples

You can also simplify format using following syntax:

```shell
date +%Y%m%d -s "20081128"
```

To set time use the following syntax:

```shell
date +%T -s "10:13:13"
```

Use the following syntax to set new data and time:

```shell
date --set="STRING"
```

For example, set new data to 2 Oct 2006 18:00:00, type the following command as root user:

```shell
date -s "2 OCT 2006 18:00:00"
```

OR

```shell
date --set="2 OCT 2006 18:00:00"
```

### Rclone Copy Examples

Run this single command (replace YOUR.SERVER.IP with the real IP or hostname):

```bash
rclone config create myserver sftp host=YOUR.SERVER.IP user=root pass=$(rclone obscure 'PAssword1')
```

After it finishes, test the connection:

```bash
rclone ls myserver:/
```

Run this single command (replace YOUR.SERVER.IP with the real IP or hostname):

```bash
rclone config create myserver sftp host=YOUR.SERVER.IP user=root pass=$(rclone obscure 'PAssword1')
```

After it finishes, test the connection:

```bash
rclone ls myserver:/
```

```bash
#LAN
rclone sync myserver:/mnt/volume1/data_syno /mnt/volume1/data/ --exclude="@*" --exclude="#recycle" --multi-thread-streams=16 --buffer-size=128M --transfers=16 --progress --checkers=32 --sftp-concurrency=128 --fast-list --log-level=INFO --stats=10s
#WAN
rclone sync myserver:/mnt/volume1/data_syno /mnt/volume1/data/ --exclude "@*" --exclude "#recycle" --multi-thread-streams=4 --buffer-size=64M --transfers=8 --progress --checkers=16 --sftp-concurrency=64 --fast-list --bwlimit=20M --log-level=INFO --stats=30s
```

### Rsync Copy Examples

This is to move files from one server to another

Ending the folder WITHOUT a “/” slash means copy that folder everything in that folder

Ending the folder WITH a “/” slash means copy everything within that folder

Example for “remote to local” location

```shell
rsync -chavzP --stats --progress -e ssh user@remote_host:/remote_folder/dir1/ /local_folder/dir1/
```

Example for “local to remote” location

```shell
rsync -chavzP --stats --progress -e ssh /local_folder/dir1/ user@remote_host:/remote_folder/dir1/
```

### Rsync Auto Login while sending

Example to add a Rsync key on the remote server

On the local server simply login as a given user ex: ROOT or USER

```shell
ssh-keygen -t rsa
```

If it already exists simply hit "n"

<table border="1" id="bkmrk-generating-public%2Fpr" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>Generating public/private rsa key pair.  
Enter file in which to save the key (/root/.ssh/id\_rsa):   
/root/.ssh/id\_rsa already exists.  
Overwrite (y/n)?</td></tr></tbody></table>

If not then simply hit enter through all options

Example: of using ROOT

<table border="1" id="bkmrk-generating-public%2Fpr-1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>Generating public/private rsa key pair.  
Enter file in which to save the key (/root/.ssh/id\_rsa):   
Enter passphrase (empty for no passphrase):   
Enter same passphrase again:   
Your identification has been saved in /root/.ssh/id\_rsa  
Your public key has been saved in /root/.ssh/id\_rsa.pub  
The key fingerprint is:  
SHA256:JoMN/cxvsqZWBHws4eyrU5Q0F0qRe//44qdrrjiQmbU root@DSS-US-TMAP-XXX  
The key's randomart image is:  
+---\[RSA 3072\]----+  
| .+=.. |  
| =B.+ |  
| ..=O |  
| ==+o |  
| = E=... |  
| o... oo |  
| ..o..++ o |  
| .oo+o==\*. |  
+----\[SHA256\]-----+  
You have mail in /var/spool/mail/root</td></tr></tbody></table>

Run the following to add the key to the remote server, you can also use IP instead of host name

```shell
ssh-copy-id -i ~/.ssh/id_rsa.pub remuser@sfl-lin-001
```

Example of using a USER you will have to enter yes and the USER password

<table border="1" id="bkmrk-%2Fusr%2Fbin%2Fssh-copy-id" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id\_rsa.pub"  
The authenticity of host 'sfl-lin-020 (192.168.136.80)' can't be established.  
ED25519 key fingerprint is SHA256:oZnvrgY+2Xpd2/huaffvzLMBAgI52AMPUmq/LPLIXbE.  
This key is not known by any other names  
Are you sure you want to continue connecting (yes/no/\[fingerprint\])?<span style="color: rgb(241, 196, 15);"> yes</span>  
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed  
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys  
r<span style="color: rgb(241, 196, 15);">emuser@dss-us-map-020's password: </span>  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified  
tput: No value for $TERM and no -T specified

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'remuser@sfl-lin-020'"  
and check to make sure that only the key(s) you wanted were added.

</td></tr></tbody></table>

<span style="color: rgb(241, 196, 15);">Optional:</span> If the command cannot be run above you can copy the key to the remote server manually into the “authorized\_keys” file

```shell
cd
cd .ssh
vi authrized_keys
```

<span style="color: rgb(241, 196, 15);">Optional:</span> Change the permissions on the local server

```shell
chmod 600 ~/.ssh/*
chmod 711 ~/.ssh
chmod 711 ~
```

### Synology Rsync

```shell
rsync -aXHmS --syno-acl /volum1/[xxx] /volume2/[xxx]
```

-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)  
-p, --perms preserve permissions  
-X, --xattrs preserve extended attributes  
-o, --owner preserve owner (super-user only)  
-g, --group preserve group  
\--syno-acl copy Synology ACL data

I use the following options myself:  
rsync -avhxWog --stats --backup --suffix $OLDSUFFIX --exclude-from=$RSYEXCL --syno-pseudo-root

No idea why I list options "og" since they're implied by -a, but it works...

Regards, Arild  
PS: "rsync --help" lists all available options for rsync

### Find and Replace String with <span class="code" spellcheck="false">sed</span>

There are several versions of <span class="code" spellcheck="false">sed</span>, with some functional differences between them. macOS uses the BSD version, while most Linux distributions come with GNU <span class="code" spellcheck="false">sed</span> pre-installed by default. We’ll use the GNU version.

The general form of searching and replacing text using <span class="code" spellcheck="false">sed</span> takes the following form:

```shell
sed -i 's/SEARCH_REGEX/REPLACEMENT/g' INPUTFILE
```

<span class="fabric-text-color-mark" data-text-custom-color="#ffffff">Cop</span>

- <span class="code" spellcheck="false">-i</span> - By default, <span class="code" spellcheck="false">sed</span> writes its output to the standard output. This option tells <span class="code" spellcheck="false">sed</span> to edit files in place. If an extension is supplied (ex -i.bak), a backup of the original file is created.
- <span class="code" spellcheck="false">s</span> - The substitute command, probably the most used command in sed.
- <span class="code" spellcheck="false">/ / /</span> - Delimiter character. It can be any character but usually the slash (<span class="code" spellcheck="false">/</span>) character is used.
- <span class="code" spellcheck="false">SEARCH\_REGEX</span> - Normal string or a regular expression to search for.
- <span class="code" spellcheck="false">REPLACEMENT</span> - The replacement string.
- <span class="code" spellcheck="false">g</span> - Global replacement flag. By default, <span class="code" spellcheck="false">sed</span> reads the file line by line and changes only the first occurrence of the <span class="code" spellcheck="false">SEARCH\_REGEX</span> on a line. When the replacement flag is provided, all occurrences are replaced.
- <span class="code" spellcheck="false">INPUTFILE</span> - The name of the file on which you want to run the command.

### Find and Replace String with <span class="code" spellcheck="false">sed</span> within <span class="code" spellcheck="false">vi</span>

This is to search and replace a file globally withing vi

```shell
:%s/search_string/replacement_string/g
```

### Kill Users in Linux

This is to be used when trying to kill users using the connection, replace the ? with the number of the session.

```shell
pkill -KILL -t pts/?
```

### Create a CERT

First, you need to generate the private key and the Certificate Signing Request (CSR). You can do this via the <span class="code" spellcheck="false">openssl</span> command:

```shell
openssl req -nodes -newkey rsa:2048 -keyout privatekey.key -out mail.csr  
```

Then, generate a signing request

```shell
openssl x509 -req -days 365 -in mail.csr -signkey privatekey.key -out secure.crt
```

Create a localhost cert on the server

```shell
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt
```

#### Mariadb Log Rotate

If log file is large, try if the logrotate

<span lang="FR-CA" style="mso-ansi-language: FR-CA;">logrotate --force /etc/logrotate.d/mariadb</span>

#### MySQL Fail to Start

If MySQL does not restart, it probably will not as the index of the log files will not be changed

<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" id="bkmrk-cd-%2Fvar%2Flib%2Fmysqlmv-" style="width: 580.5pt; margin-left: -9.5pt; border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in;" width="774"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes;"><td style="width: 580.5pt; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" valign="top" width="774">cd /var/lib/mysql  
mv ib\_logfile0 ib\_logfile0.old  
mv ib\_logfile1 ib\_logfile1.old  
systemctl restart mariadb

</td></tr></tbody></table>

<span style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"> </span>

#### Configure Rsync

<span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">Useful for system migrations</span>

<span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">Create a “</span><span style="mso-bookmark: OLE_LINK22;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">/etc/rsyncd.conf</span></span><span style="mso-bookmark: OLE_LINK22;"><span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">” </span></span><span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">containing:</span>

<span style="mso-bookmark: OLE_LINK24;"><span lang="FR-CA" style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: FR-CA; mso-bidi-font-weight: bold;">\[root\]</span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span lang="FR-CA" style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: FR-CA; mso-bidi-font-weight: bold;">exclude = <span style="mso-bookmark: OLE_LINK142;">/dev /etc/fstab /proc /sys</span></span></span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span style="mso-bookmark: OLE_LINK144;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">path = /</span></span></span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span style="mso-bookmark: OLE_LINK145;"><span style="mso-bookmark: OLE_LINK144;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">read only = yes</span></span></span></span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span style="mso-bookmark: OLE_LINK145;"><span style="mso-bookmark: OLE_LINK144;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">list = yes</span></span></span></span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">uid = root</span></span></span>

<span style="mso-bookmark: OLE_LINK25;"><span style="mso-bookmark: OLE_LINK24;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">gid = root</span></span></span>

<span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;"> </span>

<span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">Enable and start:</span>

<span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">systemctl enable rsyncd.service </span>

<span style="mso-bookmark: OLE_LINK39;"><span style="mso-bookmark: OLE_LINK26;"><span style="font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-weight: bold;">systemctl start rsyncd.service<span style="mso-spacerun: yes;"> </span></span></span></span>

#### Change Run level

<span style="mso-bookmark: OLE_LINK136;"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">systemctl set-default multi-user.target</span></span>

To switch from graphical to multi-user:

<span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">systemctl isolate multi-user.target;</span>

#### Change Local settings

<span style="font-family: Consolas;">\# timedatectl set-timezone Europe/London<span style="mso-spacerun: yes;"> </span></span>

<span style="font-family: Consolas;">\# localectl set-locale LANG=en\_GB.UTF-8</span>

<span style="font-family: Consolas;">\# localectl set-keymap uk</span>

Temporary change

$ loadkeys us

#### Configure Alternate Authentication

<span style="mso-bookmark: OLE_LINK67;"><span style="mso-bookmark: OLE_LINK66;">authconfig-tui</span></span>

#### <span style="mso-bookmark: _Hlk96703517;">SSD Considerations</span>

<span style="mso-bookmark: _Hlk96703517;">Change the value of “</span><span style="mso-bookmark: _Hlk96703517;">`<span style="font-size: 10.0pt; line-height: 107%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">issue_discards”</span>` option from 0 to 1 in “</span><span style="mso-bookmark: _Hlk96703517;">`<span style="font-size: 10.0pt; line-height: 107%; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">/etc/lvm/lvm.conf”</span>`</span>

<span style="mso-bookmark: _Hlk96703517;">`<span style="font-size: 10.0pt; line-height: 107%; font-family: Consolas; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;">#systemctl enable fstrim.timer</span>`</span>

<span style="mso-bookmark: _Hlk96703517;"><span style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">Adjust “/etc/fstab</span></span><span style="mso-bookmark: _Hlk96703517;"><span style="font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">”</span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold;">/dev/mapper/xxx /XXX<span style="mso-spacerun: yes;"> </span>xfs<span style="mso-spacerun: yes;"> </span>defaults<span style="background: yellow; mso-highlight: yellow;">,noatime,discard</span><span style="mso-spacerun: yes;"> </span>0 0</span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st">Optionally set /tmp in RAM</span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-weight: bold;">\# systemctl enable tmp.mount</span></span></span>

#### <span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="mso-bidi-font-weight: bold;">Adding a Disk</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="mso-bookmark: OLE_LINK109;"><span class="st"><span style="font-family: Consolas;">\# parted /dev/sdx</span></span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"> </span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="mso-bookmark: OLE_LINK111;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">mklabel gpt</span></span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="mso-bookmark: OLE_LINK112;"><span style="mso-bookmark: OLE_LINK111;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">unit s</span></span></span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="mso-bookmark: OLE_LINK112;"><span style="mso-bookmark: OLE_LINK111;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">mkpart primary 2048s 100%</span></span></span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">set 1 lvm on</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">quit</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: 'Courier New';"> </span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">\# pvcreate /dev/sdx1</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span style="font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New';">\# vgcreate rl\_ssd /dev/sdx1</span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">\# lvcreate –L 50GB -n mysql rl\_</span></span></span><span style="mso-bookmark: _Hlk96703517;"><span style="font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New';">ssd</span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">\# mkfs.xfs /dev/</span></span></span><span style="mso-bookmark: _Hlk96703517;"><span style="font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New';">rl-ssd</span></span><span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas; mso-bidi-font-family: 'Courier New';">/mysql</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas;">\# blkid /dev/sdc</span></span></span>

<span style="mso-bookmark: _Hlk96703517;"><span class="st"><span style="font-family: Consolas;">\# chown mysql:mysql /var/lib/mysql</span></span></span>

#### <span class="st">Growing a lvm partition</span>

<span class="st"><span style="font-family: Consolas;">\# parted /dev/sdc</span></span>

<span class="st"><span style="font-family: Consolas;"> </span></span>

<span class="st"><span style="font-family: Consolas;">(parted) unit b</span></span>

<span class="st"><span style="font-family: Consolas;">(parted) print free</span></span>

<span class="st"><span style="font-family: Consolas;">Number<span style="mso-spacerun: yes;"> </span>Start<span style="mso-spacerun: yes;"> </span>End<span style="mso-spacerun: yes;"> </span>Size<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>File system<span style="mso-spacerun: yes;"> </span>Flags</span></span>

<span class="st"><span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>1<span style="mso-spacerun: yes;"> </span>31744B<span style="mso-spacerun: yes;"> </span>5368709119B<span style="mso-spacerun: yes;"> </span>5368677376B<span style="mso-spacerun: yes;"> </span>primary</span></span>

<span class="st"><span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>5368709120B<span style="mso-spacerun: yes;"> </span>21474836479B<span style="mso-spacerun: yes;"> </span>16106127360B<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>Free Space</span></span>

<span class="st"><span style="font-family: Consolas;">(parted) resizepart 1<span style="mso-spacerun: yes;"> </span>21474836479B</span></span>

<span class="st"><span style="font-family: Consolas;">(parted) quit</span></span>

<span class="st"><span style="font-family: Consolas;"> </span></span>

<span class="st"><span style="font-family: Consolas;">\# pvresize /dev/sdc1</span></span>

**<span style="font-size: 16.0pt; line-height: 107%;"> </span>**

<span class="st"> </span>

#### <span class="st">**Updating Bootloader configuration**</span>

<span class="st">/etc/default/grub</span>

<span class="st">grub2-mkconfig -o /boot/grub2/grub.cfg</span>

NMAP Scan for all Open Ports

TCP

```shell
sudo nmap -sT -p- onling.com
```

UDP

```shell
sudo nmap -sU -p- onling.com
```

Look for open Ports

```bash
nc -vz 24.29.248.88 514
```

Trace route

```bash
sudo tracepath 24.29.248.88
```

Looking at the Journal, this is an example to look at the mariadb process

```bash
journalctl -u mariadb -f
```

Search in sub folders

```bash
grep -r "MYSQL_HOST" . --include="compose.yaml" --include="docker-compose.yml"
```

Change Lines in KIDSENV and make a backup of it with a .bak extentions

```bash
find . -type f -name "KIDSENV" -exec sed -i.bak 's/^KWSQL_LOG=query/#KWSQL_LOG=query/' {} +
```

Delete file on the server

```bash
find . -type f \( -name "SQLQRY*" -o -name "SQLINFO" -o -name "SQLERROR" \) -delete
```

Delete files over 100M

```bash
find . -type f -size +100M
```

Delete files over 100M and list them

```bash
find . -type f -size +100M -exec ls -lh {} +
```

Grep files named TX\*.DA that are only 1 month back and files lines that have RETDT or RETHD

```bash
find . -type f -name "TX*.DA" -mtime -30 -exec grep -iE "RETDT|RETHD" {} +
```