recettes/Homelab/Linux antisèche thuysse cheatsheet.md
gribse ecdfa2f7c4 Squashed 'temp-repo/' content from commit 6688605
git-subtree-dir: temp-repo
git-subtree-split: 6688605ad41f49d1eccead8d29421c658cad0100
2025-10-06 19:14:58 +02:00

8 KiB
Executable file
Raw Blame History

Installer Linux

cf Installer serveur Linux

Copier avec Rsync

Locally :

 rsync -avhW --no-compress --progress /src/ /dst/

Over the network :

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)
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.
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

Pour que rsync contine meme quand on arrête la session ssh :

Start a tmux session:

tmux new -s rsync_session

Run the rsync command, then detach using Ctrl+B, then D. To reattach:

tmux attach -t rsync_session

Tranfser via FTP

lftp -u gribse,BouncingYoyoN09 217.128.128.22 -e "mirror /media/md0/mediaLibrary/shows /mnt/TNAS/mediaLibrary/shows; bye"

Multiple in parallel :

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

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:

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

Update docker container images manually

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 :

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

	ports:
	- 5984:5984
	- outside container:inside container

Generate random number

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

cat ~/.ssh/id_rsa.pub | xclip -selection clipboard