Squashed 'temp-repo/' content from commit 6688605
git-subtree-dir: temp-repo git-subtree-split: 6688605ad41f49d1eccead8d29421c658cad0100
This commit is contained in:
commit
ecdfa2f7c4
1258 changed files with 42112 additions and 0 deletions
157
Homelab/Linux antisèche thuysse cheatsheet.md
Executable file
157
Homelab/Linux antisèche thuysse cheatsheet.md
Executable file
|
@ -0,0 +1,157 @@
|
|||
# Installer Linux
|
||||
|
||||
cf [[Installer serveur Linux]]
|
||||
|
||||
# Copier avec Rsync
|
||||
|
||||
Locally :
|
||||
```bash
|
||||
rsync -avhW --no-compress --progress /src/ /dst/
|
||||
```
|
||||
|
||||
Over the network :
|
||||
```sh
|
||||
rsync -rtvuP source_rep/ destination_rep/
|
||||
```
|
||||
|
||||
Options
|
||||
```
|
||||
-a is for archive, which preserves ownership, permissions etc.
|
||||
-v is for verbose, so I can see what's happening (optional)
|
||||
-h is for human-readable, so the transfer rate and file sizes are easier to read (optional)
|
||||
-W is for copying whole files only, without delta-xfer algorithm which should reduce CPU load
|
||||
--no-compress as there's no lack of bandwidth between local devices
|
||||
--progress so I can see the progress of large files (optional)
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh
|
||||
rsync -artvuP --info=progress2 --itemize-changes --verbose /mnt/nestor-v3/mediaLibrary/ /mnt/TNAS/mediaLibrary/
|
||||
```
|
||||
|
||||
| _Les Options_ | Descriptions |
|
||||
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| -a | Mode archivage. Équivalent à -rlptgoD |
|
||||
| -g | Préserve le groupe |
|
||||
| -D | Préserve les périphériques. Nécessite d’être root |
|
||||
| -l | Copie les liens symboliques comme liens symboliques |
|
||||
| -o | Préserve le propriétaire. Nécessite d’être root |
|
||||
| -p | Préserve les permissions |
|
||||
| -o | Préserve le propriétaire. Nécessite d’être root |
|
||||
| -P | Combine les options –progress et –partial |
|
||||
| -r | Copie récursive des répertoires |
|
||||
| -t | Préserve les dates |
|
||||
| -u | Cela force rsync à ignorer tous les fichiers qui existent sur la destination et dont l’heure de modification est plus récente que le fichier source. |
|
||||
| -v | Mode verbose pour afficher de nombreuses informations sont affichées lors du transfert. |
|
||||
| -z | Compresse le fichier pour un meilleur transfert par le réseau |
|
||||
| –delete | Synchronisation et miroir parfaite, le fichier de destination sera supprimé, s’il n’est pas présent dans la source |
|
||||
| –exclude= | Exclure des fichiers de la sauvegarde |
|
||||
| –max-size | Indique une taille maximal de fichier à ne pas transférer |
|
||||
| –partial | Par défaut, rsync supprimera tout fichier partiellement transféré si le transfert est interrompu. <br>–partial indique à rsync de conserver le fichier partiel, ce qui devrait accélérer le transfert du reste du fichier. |
|
||||
| –progress | Affiche une barre de progression |
|
||||
Source : [rsync - malekal.com](https://www.malekal.com/rsync-synchroniser-copier-fichiers-distance-ou-locaux/)
|
||||
|
||||
Pour que rsync contine meme quand on arrête la session ssh :
|
||||
|
||||
Start a tmux session:
|
||||
|
||||
```sh
|
||||
tmux new -s rsync_session
|
||||
```
|
||||
|
||||
Run the rsync command, then detach using Ctrl+B, then D.
|
||||
To reattach:
|
||||
|
||||
```sh
|
||||
tmux attach -t rsync_session
|
||||
```
|
||||
|
||||
|
||||
# Tranfser via FTP
|
||||
|
||||
```sh
|
||||
lftp -u gribse,BouncingYoyoN09 217.128.128.22 -e "mirror /media/md0/mediaLibrary/shows /mnt/TNAS/mediaLibrary/shows; bye"
|
||||
```
|
||||
|
||||
Multiple in parallel :
|
||||
```sh
|
||||
lftp -u gribse,BouncingYoyoN09 217.128.128.22 -e "mirror --parallel=5 /media/md0/containers/immich /mnt/TNAS/docker-data/immich; bye"
|
||||
```
|
||||
|
||||
# Estimer % de transfert
|
||||
en comparant la taille de 2 dirs, source & dest
|
||||
|
||||
```sh
|
||||
du -sb /mnt/TNAS/docker-data/immich /mnt/nestor-v3/containers/immich | awk 'NR==1{s1=$1} NR==2{s2=$1; printf "%s %s %.0f\n", s1, s2, (s1/s2)*100}' | numfmt --to=iec --field=1,2 | awk '{printf "%s/%s (%s%%)\n", $1, $2, $3}'
|
||||
```
|
||||
|
||||
Output :
|
||||
> 1.8T/2.1T (87%)
|
||||
|
||||
# Mesurer taille directory et sous-dirs
|
||||
|
||||
This does what you're looking for:
|
||||
|
||||
```sh
|
||||
du -sh /* | sort -h
|
||||
```
|
||||
|
||||
What this means:
|
||||
|
||||
- `-s` to give only the total for each command line argument.
|
||||
- `-h` for human-readable suffixes like `M` for megabytes and `G` for gigabytes (optional).
|
||||
- `/*` simply expands to all directories (and files) in `/`.
|
||||
|
||||
|
||||
[linux - How to get the summarized sizes of directories and their subdirectories? - Super User](https://superuser.com/questions/162749/how-to-get-the-summarized-sizes-of-directories-and-their-subdirectories)
|
||||
|
||||
# Update docker container images manually
|
||||
|
||||
```yaml
|
||||
docker compose pull xxxxx
|
||||
docker compose up --force-recreate --build -d xxxxx
|
||||
docker image prune -f
|
||||
```
|
||||
|
||||
source : https://stackoverflow.com/questions/49316462/how-to-update-existing-images-with-docker-compose
|
||||
|
||||
Update immich :
|
||||
|
||||
```sh
|
||||
docker compose pull immich-database immich-redis immich-server immich-microservices immich-machine-learning
|
||||
|
||||
docker compose up --force-recreate --build -d immich-database immich-redis immich-server immich-microservices immich-machine-learning
|
||||
|
||||
docker image prune -f
|
||||
|
||||
```
|
||||
|
||||
# Docker ports
|
||||
|
||||
```yml
|
||||
ports:
|
||||
- 5984:5984
|
||||
- outside container:inside container
|
||||
```
|
||||
|
||||
# Generate random number
|
||||
|
||||
```sh
|
||||
openssl rand -base64 12
|
||||
```
|
||||
- -hex pour hex value
|
||||
- -base64 pour des caractères
|
||||
- rien pour du gibberish
|
||||
|
||||
# Shell
|
||||
## Go to beginning of line
|
||||
Crtl + A
|
||||
|
||||
## Copy output of command to clipboard
|
||||
|
||||
```sh
|
||||
cat ~/.ssh/id_rsa.pub | xclip -selection clipboard
|
||||
```
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue