Squashed 'temp-repo/' content from commit 6688605

git-subtree-dir: temp-repo
git-subtree-split: 6688605ad41f49d1eccead8d29421c658cad0100
This commit is contained in:
gribse 2025-10-06 19:14:58 +02:00
commit ecdfa2f7c4
1258 changed files with 42112 additions and 0 deletions

View 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 lheure 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é, sil nest 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
```