Skip to content

Instantly share code, notes, and snippets.

View StudioEtrange's full-sized avatar
💫

StudioEtrange StudioEtrange

💫
View GitHub Profile
@StudioEtrange
StudioEtrange / synology_set_external_drive_as_internal.sh
Created April 3, 2021 20:05
synology_set_external_drive_as_internal
# https://www.casler.org/wordpress/synology-ssd-cache-on-external-devices/
echo "Current values"
more /etc.defaults/synoinfo.conf | grep maxdisk
more /etc.defaults/synoinfo.conf | grep usbportcfg
more /etc.defaults/synoinfo.conf | grep esataportcfg
more /etc.defaults/synoinfo.conf | grep internalportcfg
sudo sed -i.bak -e 's/maxdisks=\".*$/maxdisks=\"24\"/g' -e 's/usbportcfg=\".*$/usbportcfg=\"0x00\"/g' -e 's/esataportcfg=\".*$/esataportcfg=\"0x00\"/g' -e 's/internalportcfg=\".*$/internalportcfg=\"0xffffff\"/g' /etc.defaults/synoinfo.conf
echo "Updated values"
more /etc.defaults/synoinfo.conf | grep maxdisk
more /etc.defaults/synoinfo.conf | grep usbportcfg
@StudioEtrange
StudioEtrange / inline_file_as_string_heredoc.sh
Created January 28, 2021 02:22
inject file inline to command with heredoc
# https://stackoverflow.com/a/38731052
# variable substitution, leading tab retained, overwrite file, echo to stdout
tee /path/to/file <<EOF
${variable}
EOF
# no variable substitution, leading tab retained, overwrite file, echo to stdout
@StudioEtrange
StudioEtrange / show-cron-jobs.sh
Created January 28, 2021 02:20 — forked from myshkin-uk/show-cron-jobs.sh
A bash script to list all cron tasks on a computer.
#!/bin/bash
# This script is designed to work only with recent bash implementations, not ash/dash etc.
# @file show-cron-jobs.sh
#
# published at:
# https://gist.github.com/myshkin-uk/d667116d3e2d689f23f18f6cd3c71107
#
# @NOTE DGC 2-Sep-2019
# There is one comment there that the script doesn't run as expected.
@StudioEtrange
StudioEtrange / count_all_crontab.sh
Created January 27, 2021 19:16
count number of active task inside of all user crontab
# count number of active task inside of all user crontab
# sample with excluding a string containing "str"
for c in $(sudo ls /var/spool/cron); do sudo crontab -u $c -l 2>/dev/null | grep -v -e '^$' | grep -v -e '^#' | grep -v "crontab;" | grep -v "str"; done | wc -l
# launch a shell with an empty env
# https://unix.stackexchange.com/a/291913
env -i bash --noprofile --norc
# source var file and show a specific var
env -i bash --noprofile --norc -c ". somefile.sh; echo $VAR;"
# backup/restore env
# https://unix.stackexchange.com/questions/284382/export-save-and-import-source-shell-variables
@StudioEtrange
StudioEtrange / docker-compose-traefik-route-to-url.yml
Last active January 31, 2022 17:11
traefik sample for route to an external URL - add a blog.mondomain.com route to http://blog:4000
traefik:
image: traefik:v2.1.6
container_name: traefik
volumes:
- "traefik.enable=true"
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik-conf.yml:/etc/traefik/traefik.yml
- ./traefik-services.yml:/etc/traefik/services.yml
labels:
- "traefik.http.routers.blog.entrypoints=web_main"
@StudioEtrange
StudioEtrange / bash_debug_time.sh
Last active January 24, 2020 04:51
Debug execution time of bash script
# Solutions from https://stackoverflow.com/a/20855353
# SOLUTION 1 : analyse at the current level of execution (do not step into code)
# get https://www.f-hauri.ch/vrac/cours_truc-et-astuces_2012-04-03/add/elap.bash-v2
@StudioEtrange
StudioEtrange / ssh_key_based_authentification.md
Last active March 26, 2025 19:53
Configure ssh key based authentification
@StudioEtrange
StudioEtrange / jupyterlab-spark.md
Last active July 16, 2019 05:14
Jupyterlab and spark

To invoke JupyterLab with Spark capabilities there are two ways. An ad hoc method is to just state on the command line that JupyterLab should use pyspark as kernel. For instance starting JupyterLab with Python 3.6 (needs to be consistent with your Spark distribution), 20 executors each having 5 cores might look like this:

PYSPARK_PYTHON=python3.6 PYSPARK_DRIVER_PYTHON="jupyter" PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser --port=8899" /usr/bin/pyspark2 --master yarn --deploy-mode client --num-executors 20 --executor-memory 10g --executor-cores 5 --conf spark.dynamicAllocation.enabled=false

In order to be able to create notebooks with a specific PySpark kernel directly from JupyterLab, just create a file ~/.local/share/jupyter/kernels/pyspark/kernel.json holding:

{
 "display_name": "PySpark",
 "language": "python",
@StudioEtrange
StudioEtrange / bash_var_defined_undefined.sh
Created March 31, 2019 21:18
bash var defined / undefined
#https://stackoverflow.com/a/10965292
[ -n "$var" ] && echo "var is set and not empty"
[ -z "$var" ] && echo "var is unset or empty"
[ "${var+x}" = "x" ] && echo "var is set" # may or may not be empty
[ -n "${var+x}" ] && echo "var is set" # may or may not be empty
[ -z "${var+x}" ] && echo "var is unset"
[ -z "${var-x}" ] && echo "var is set and empty"