# Bash Scripts collection TODO: Need install packages for each script ## Permanent enviroment variables in ~/.profile Append file `~/.profile` with this variables: ``` # E7 Scripts # ClamAV scan script export E7S_CLAM_LOGPATH="/path/to/logs/" # Multiple folders separate by space export E7S_CLAM_DIRSTOSCAN="/path/to/target/" # Global script variables export E7S_GOTIFY_SERVER_URL="https://push.example.com" export E7S_LOGS_PRESERVE_DAYS=30 export ES7_LOGS_SERVER_SSH="server.example.com" export ES7_LOGS_PATH="/path/to/web/root/" export ES7_LOGS_URL="https://logs.example.com" ``` ## Scripts ### utils/gotifypush.sh Send markdown notifications to gotify channel throught curl * Usage: `./gotifypush.sh <message> <priority> <token> <clickurl>` ### utils/logger.sh Save logs into remote server and publish it into web server * Usage: `./logger.sh <logfile> <relativepath>` ### scan_chk.sh Scan rootkits into system with chkrootkit * Usage: `./scan_chk.sh` ### scan_rkh.sh Scan rootkits into system with rkhunter * Usage: `./scan_rkh.sh` ### scan_clam.sh Scan virus and malware into system with clamav * Usage: `./scan_clam.sh` ### updates_notifier.sh TODO! ## Some tips * https://www.appsloveworld.com/bash/100/6/how-have-both-local-and-remote-variable-inside-an-ssh-command * https://stackoverflow.com/questions/27932694/shell-script-ssh-server-eof (script detect expire users) * use xargs: https://www.baeldung.com/linux/xargs-multiple-arguments * load env vars in cron: https://www.baeldung.com/linux/load-env-variables-in-cron-job * crontab need path sometimes: https://askubuntu.com/questions/117978/script-doesnt-run-via-crontab-but-works-fine-standalone * errors and best practices: https://tecadmin.net/resolved-unary-operator-expected-error-in-bash/