Oftentimes we have a lot of tedious day-by-day routine such as collecting working activity for reports, backup something to somewhere or similar stuff. Automation is a good start point to optimize your day!
-
aliases: macros-like small pieces of daily used routine logic under the short names
-
templates: not ready-to-use instruments, but structural or implementation examples of some kind
- bot: Telegram Bot common implementation which use pyTelegramBotAPI
- config: global config for sharing special information among included tools
-
tools: actually, the working utilities
- libs: shared service libraries
- check.env: perform various system environment checks
- check.link: check network connection status
- format: independent text formatting methods
- json: working with JSON format
- styles: different visual styles for prettifying terminal stdout
- breakx: toolset for resources analyzing
- reporters: send information via specific gateway
- spies: special atomic tools to detect something
- device.by.mac: find a network device by given MAC address
- backup: backup + encrypt -> safe place = relief
☺️
- libs: shared service libraries
# execute
for tool in tools/*; do chmod u+x $tool; done
# run the following command to install dependencies for Python scripts
pip install -r requirements.txt
That's it. Now modify and use (or use unmodified) these tools as day-by-day helpers. Also, I hope, there will be convenient installer soon. 🐢
There is also one important thing. Oftentimes in automation you're dealing with services/APIs which may have access tokens,
common configuration data (URLs, ports etc.) or other reusable stuff. Entering it each time you run a script is tedious,
so you can put them into the set of environment variables (e.g. export VARIABLE=value
) or use them inside the particular script.
Each one that requires user-specific data has a list of suggested variables described in the topmost comment of this script.
Now you and only you decide where and how do you prefer to initialize them.
Sometimes you want to run task regularly to do some repetitive work (reporting, backups, monitoring etc.). This can be easily achieved with cron. In short:
# if "cron" is not installed; use "yum" or another appropriate package manager for your GNU/Linux distro
sudo apt update
sudo apt install cron -y
sudo systemctl enable cron
# put "0 10 * * 1-5 report.sh" to send reports at 10 a.m. on every day-of-week from Monday through Friday
crontab -e
To speed up the search for the right tool, you can press F3/Ctrl+F in your viewer when you're on this page and type the most relevant keyword. I hope that something will be found.
ram | ram | report | backup | git | git | toggl | api | telegram-bot | workflow | github | github-api | web-security | brute-force | sms | scale | resize | ImageMagick | find | MAC | scan | bash-version | environment | feh | ffmpeg | react | scan | network-scan | productivity | AWS Elastic Beanstalk | Okta API
Pull requests with your own shell helpers and toolchains are highly welcome.