+++ /dev/null
-# Makefile
-
-MK_PATH:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
-WORKSPACE_LOC:=$(MK_PATH)../../
-
-WorkFiles := checksums.json AM-GlobalFunc.rsc
-WORK_DIR := /var/www/ros.vados.ru
-
-DATE ?= $(shell (date '+%T %d.%m.%Y'))
-DTSTAMP ?= $(shell (date '+%Y%d%m%H%M%S'))
-VERSION ?= $(shell git symbolic-ref --short HEAD 2>/dev/null)/$(shell git rev-list --count HEAD 2>/dev/null)/$(shell git rev-parse --short=8 HEAD 2>/dev/null)
-OWNER ?= $(shell whoami)
-
-#SEDCMD ?= $(shell sed -e "/^:global CommitId/c :global CommitId \"${COMMITID:-unknown}\";")/$(shell sed )
-
-all: $(WorkFiles)
-
-.PHONY: $(WorkFiles)
-
-checksums.json : ALL_RSC := $(wildcard *.rsc */*.rsc)
-AM-GlobalFunc.rsc : COMMITID := $(VERSION)
-AM-GlobalFunc.rsc : COMMITINFO := "$(DATE) - Commit owner: $(OWNER)"
-
-ifeq ($@,AM-GlobalFunc.rsc)
-define sed-cmd =
- cd $(WORK_DIR) && \
- sed \
- -e "/^:global CommitId/c :global CommitId \"${COMMITID:-unknown}\";" \
- -e "/^:global CommitInfo/c :global CommitInfo \"${COMMITINFO:-unknown}\";" \
- < "./html/${1}"
- endef
-endif
-
-ifeq ($@,checksums.json)
- define get-sums =
- cd $(WORK_DIR)/html && \
- md5sum $(find -name '*.rsc' | sort) | \
- sed -e "s| \./||" -e 's|.rsc$||' | \
- jq --raw-input --null-input '[ inputs | split (" ") | { (.[1]): (.[0]) }] | add' > $@
- endef
-endif
-
-$(WorkFiles):
-ifeq ($@,checksums.json)
- $(get-sums) $(ALL_RSC); > $@
-endif
-
-checksums: checksums.json
- cd $(WORK_DIR)/html
-
-checksums.json: $(WORK_DIR)/bin/checksums.sh $(ALL_RSC)
- $(WORK_DIR)/bin/checksums.sh > $(WORK_DIR)/html/$@
-
-
-$(FuncFile): ./html/$@
- $(sed-cmd) $< > $<~
- mv $<~ $<
-
-#$(WORK_DIR)/html/AM-GlobalFunc.rsc
-# cd $(WORK_DIR)/html && $(WORK_DIR)/bin/commitinfo.sh $< > $<~
-# mv $<~ $<
-
-#commitinfo: push
-# $(WORK_DIR)/bin/$@.sh
-#clean
-
-#checkout: git checkout HEAD .
-
-#push:
-# git $@ origin
-
-#ifeq (git,$(firstword $(MAKECMDGOALS)))
-# # Remaining arguments form the commit string
-# GIT_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
-# # ...and turn them into do-nothing targets
-# $(eval $(GIT_ARGS):;@:)
-#endif
-
-# git function to push to repo
-#git:
-# git add . && git commit -m "$(GIT_ARGS)" && git push
-
-
-#clean:
-# rm -f $(HTML) checksums.json
-# make -C tmpl/ clean
+++ /dev/null
-#!/bin/bash
-#
-# https://dzen.ru/a/ZXWKq1L35Em2EHex?ysclid=mlt10qkrsb471483043
-#
-# Use: ./ROSdiff.sh RoutrName SSH_IP SSH_Port
-# Last Backups: ls -l $backuppath
-# History: ls -l $backuppath/history
-# Add to cron
-# crontab -e
-# 0 20 * * * /var/www/ros.vados.ru/Mikrotiks/.bin/ROSdiff.sh MikroMaster 10.30.30.81 2222
-#
-
-routers=( 10.30.30.10 10.30.30.81 )
-
-date=$(date +%d-%m-%Y)
-time=$(date +%H-%M)
-
-GEN_DATE=$(date '+%Y-%m-%d %H:%M:%S %z')
-DTStamp=$(date '+%Y%m%d%H%M%S')
-
-SSHhost="undefined"
-SSHport="2222"
-SSHuser="mikro_bak"
-SSHpassword="Peskar55"
-
-BaseDir="/var/www/ros.vados.ru/Mikrotiks"
-#$HOME
-
-HostsFile="${BaseDir}/.mikrotiks"
-BackupDir="${BaseDir}/backups"
-BackTemp="${BackupDir}/tmp"
-
-Log="undefined"
-RouterName="undefined"
-
-SSH_KEY=$BaseDir"/.ssh/id_rsa"
-SSH_OPTS="-i $SSH_KEY -o PasswordAuthentication=no -p $SSHport"
-# Require router-specific SSH key
-if [ ! -f "$SSH_KEY" ]; then
- echo "Error: SSH key not found at $SSH_KEY"
- echo "Run ./setup-ssh-keys.sh to generate the key"
- exit 1
-fi
-###############################
-# Backup listing
-###############################
-# Get Names Addresses and Ports
-# for SSHhost in $( cat $HostsFile ); do
-#IFS=$'\n' # make newlines the only separator
-readarray -t lines < $HostsFile
-set -f
-for HR in "${lines[@]}"; do
-while IFS=$' ' read -a line || [ -n "$line" ]; do
-[[ -z ${line[0]} ]] && continue
-${BaseDir}/.bin/rdiff.sh ${line[0]} ${SSHuser} ${line[1]} ${line[2]}
-#echo ${line[0]}
-#echo ${SSHuser}
-#echo ${line[1]}
-#echo ${line[2]}
-#readarray -t lines < $HostsFile
-
-#while IFS=" " read -r "${lines[@]}" -a line ; do
-
-#for line in "${lines[@]}";
-#do
-# echo "$line"
-done <<<"$(echo -e $HR)"
-done
-exit 0
-
-#cat $HostsFile | while IFS=" " read -a line ; do
-# || [ -n "$line" ]; do
-#[[ -z ${line[0]} ]] && continue
-
-for SSHhost in ${routers[@]}; do
-RouterName=$(ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} /system/identity/get name | echo $1);
-# awk '{print $2}');
-sleep 2
-echo $RouterName
-#${BaseDir}/.bin/rdiff.sh ${RouterName} ${SSHuser} ${SSHhost} ${SSHport}
-# ${line[0]} ${line[1]} ${line[2]}
-
-done
-exit 0
-
-for SSHhost in ${routers[@]}; do
-
-RouterName=$(ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} system identity print | awk '{print $2}');
-
-RouterDir="${BackupDir}/${RouterName}"
-HistoryDir="${RouterDir}history"
-echo $HistoryDir
-RouterTemp="${BackTemp}/${RouterName}"
-Log="${RouterTemp}log.txt"
-echo $Log
-echo ${RouterName}
-
-precedent_export_name=${RouterName}"-config-export-precedent.rsc"
-pen=${RouterName}'-config-export-precedent.rsc'
-echo ${pen}
-
-current_export_name="$RouterName-config-export-current.rsc"
-current_backup_name="$routername-config-backup-current.backup"
-diff_export_name="$routername-config-export-diff.rsc"
-
-current_export_name_history="$routername-$(date +%Y-%m-%d-%H-%M)-config-export-current.rsc"
-current_backup_name_history="$routername-$(date +%Y-%m-%d-%H-%M)-config-backup-current.backup"
-diff_export_name_history="$routername-$(date +%Y-%m-%d-%H-%M)-config-export-diff.rsc"
-exit 0
-
-echo "Create tmp directory..."
-mkdir -p $routertmp
-echo "tmp directory created $routername $routertmp ($time)." >> $routerlog
-echo
-echo "Create backup directory..."
-mkdir -p $routerpath
-echo "Backups directory created $routername $routerpath ($time)." >> $routerlog
-echo
-echo "Create history directory..."
-mkdir -p $routerhistory
-echo "Backups directory created $routername $routerhistory ($time)." >> $routerlog
-echo
-
-cd $routerpath
-echo "SSH connect to $routername..."
-echo "Create configuration $routername..."
-#ssh $SSH_OPTS $username"@"$i" /export file=export.rsc";
-sshpass -p $sshpassword ssh -o StrictHostKeyChecking=no $sshuser@$sshhost -p $sshport export >$current_export_name
-echo
-
-diff -I "RouterOS" $current_export_name $routerpath/$precedent_export_name > $diff_export_name
-
-if [ "$?" -ne "0" ]; then
-sshpass -p $sshpassword ssh -o StrictHostKeyChecking=no $sshuser@$sshhost -p $sshport export file=$current_export_name
-sshpass -p $sshpassword ssh -o StrictHostKeyChecking=no $sshuser@$sshhost -p $sshport system backup save name=$current_backup_name
-sshpass -p $sshpassword sftp -o StrictHostKeyChecking=no -oPort=$sshport $sshuser@$sshhost:$current_backup_name
-
-rm -f $precedent_export_name
-
-cp $current_export_name $backuppath"/history/"$current_export_name_history
-cp $current_backup_name $backuppath"/history/"$current_backup_name_history
-mv $diff_export_name $backuppath"/history/"$diff_export_name_history
-
-mv -f $current_export_name $precedent_export_name
-rm -f $diff_export_name
-#exit 1
-fi
-
-mv -f $current_export_name $precedent_export_name
-rm -f $diff_export_name
-
-#exit 0
-done
+++ /dev/null
-#!/bin/bash
-date=$(date +%d-%m-%Y)
-time=$(date +%H-%M)
-username="mikro_bak"
-mikrotik=$HOME"/.mikrotiks"
-backup_path=$HOME"/backups"
-tmp=$HOME"/tmp"
-log=$tmp"/log.txt"
-SSH_KEY="$HOME/.ssh/id_rsa"
-SSH_OPTS="-i $SSH_KEY -o PasswordAuthentication=no -p 2222"
-#-------------------------------#
-smb_path_backup="//192.168.1.2/Backups"
-domain="WORKGROUP"
-usrname="backuper"
-passwd="root.mikrots.backuper"
-# Require router-specific SSH key
-if [ ! -f "$SSH_KEY" ]; then
- echo "Error: SSH key not found at $SSH_KEY"
- echo "Run ./setup-ssh-keys.sh to generate the key"
- exit 1
-fi
-################
-# Backup listing
-################
-# Get addresses
-for i in $( cat $mikrotik ); do
-mkdir -p $tmp"/"$i
-# Get Devices Names
-#ssh $SSH_OPTS "$ROUTER_USER@$ROUTER_IP"
-RESULT=$(ssh $SSH_OPTS $username"@"$i" /system/identity print" | awk ' {print $2} ');
-#RESULT=$(ssh $username"@"$i" -p 2222 system identity print" | awk ' {print $2} ');
-echo "Start backup Devices"
-echo "Start backup Devices Mikrotiks ($time) $RESULT" > $log
-echo "Create Backup $i..."
-ssh $SSH_OPTS $username"@"$i" /system/backup save name=binary.backup";
-#ssh $username"@"$i" -p 2222 system backup save name=binary.backup";
-if [ $? -eq 0 ]; then
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
-echo "Create Backup $i success ($time)" >> $log
-echo
-else
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[ERROR]"
-echo "Createbackup $i failed ($time)" >> $log
-echo
-fi
-
-echo "Create configuration $i..."
-#ssh $SSH_OPTS $username"@"$i" /export file=export.rsc;"
-#ssh $username"@"$i" -p 2222 export file=export.rsc";
-ssh $SSH_OPTS $username"@"$i" export file=export.rsc; delay 3s;"
-if [ $? -eq 0 ]; then
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
-echo "Create configuration $i success ($time)" >> $log
-echo
-else
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[ERROR]"
-echo "Create configuration $i failed ($time)" >> $log
-echo
-fi
-echo "Create backups directory..."
-mkdir -p $tmp/$i/$date/
-echo "Backups directory created $i ($time)" >> $log
-echo
-echo "Download backup files $i..."
-sftp $SSH_OPTS "sftp://"$username"@"$i"/binary.backup" $tmp/$i/$date/$i"-"$time".backup";
-scp $SSH_OPTS "$username@$i:export.rsc" $tmp/$i/$date/$i"-"$time".rsc";
-#sftp "ssh://"$username"@"$i":2222/binary.backup" $tmp/$i/$date/$i"-"$time".backup";
-#sftp "ssh://"$username"@"$i":2222/export.rsc" $tmp/$i/$date/$i"-"$time".rsc";
-if [ $? -eq 0 ]; then
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
-echo "Download backups $i success ($time)" >> $log
-echo
-else
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[ERROR]"
-echo "Download backups $i failed ($time)" >> $log
-echo
-fi
-
-echo "Compress backups..."
-cd $tmp/$i/
-RESULT=$(tar -czvf $date".tar.gz" $date)
-echo "Backups compressed ($time)" >> $log
-
-#echo "Connect to network share $smb_path_backup..."
-#RESULT=$(cat /home/Mikrotiks/sudos | sudo -S -u root mount -t cifs $smb_path_backup /mnt/samba -o username=$usrname,password=$passwd,domain=$domain)
-#echo "Networkshare $smb_path_backup connected ($time)" >> $log
-
-echo "Create directory for backups device $i..."
-#RESULT=$(cat /home/Mikrotiks/sudos | sudo -S -u root mkdir -p /mnt/samba/Mikrotik/$i)
-RESULT=$(mkdir -p $backup_path"/"$i)
-echo "Directory for backup device $i created in network share ($time)" >> $log
-
-echo "Place backups in network share"
-#RESULT=$(cat /home/Mikrotiks/sudos | sudo -S -u root mv $tmp/$i/$date".tar.gz" "/mnt/samba/Mikrotik/$i/$date.tar.gz")
-RESULT=$(mv $tmp/$i/$date".tar.gz" $backup_path"/"$i"/"$date".tar.gz")
-echo "Backups $i moved to $backup_path"/"$i ($time)" >> $log
-echo "" >> $log
-
-#RESULT=$(cat /home/Mikrotiks/sudos | sudo -S -u root mv $log "/mnt/samba/MIkrotik/$i/$date.log.txt")
-RESULT=$(mv $log $backup_path"/"$i/$date".log.txt")
-
-echo "Remove local backup files device $i"
-ssh $SSH_OPTS "$username@$i /file remove binary.backup";
-ssh $SSH_OPTS "$username@$i /file remove export.rsc";
-#rm -r -f $tmp
-
-#cat /home/Mikrotiks/sudos | sudo -S -u root umount $smb_path_backup
-#cat /home/Mikrotiks/sudos | sudo -S -u root umount $smb_path_backup
-done
+++ /dev/null
-#!/bin/bash
-
-while IFS=" " read -a line -r || [ -n "$line" ]; do
-
-
-
-date=$(date +%d-%m-%Y)
-time=$(date +%H-%M)
-
-sshuser="mikro_bak"
-sshpassword="Peskar55"
-
-homepath="/var/www/ros.vados.ru/Mikrotiks"
-
-mikrotik_file=$homepath"/.mikrotiks"
-backuppath=$homepath"/backups"
-tmp="."
-log=$tmp"/log.txt"
-
-SSH_KEY=$homepath"/.ssh/id_rsa"
-# Require router-specific SSH key
-if [ ! -f "$SSH_KEY" ]; then
- echo "Error: SSH key not found at $SSH_KEY"
- echo "Run ./setup-ssh-keys.sh to generate the key"
- exit 1
-fi
-#export IFS=" "
-SSH_OPTS="-i "$SSH_KEY" -o PasswordAuthentication=no -p 2222"
-
-RESULT=$(ssh $SSH_OPTS $sshuser@10.30.30.10 system identity print | awk ' {print $2} ');
-echo
-echo $RESULT
-echo
-exit 0
-#RESULT=(ssh $SSH_OPTS $sshuser"@10.30.30.10" /system/identity print") >> ./ident.txt
-# | awk ' {print $2} ' >> ./ident.txt
-
-#readarray -t lines < "$mikrotik_file"
-cat $mikrotik_file | while read -r lines ; do
-for line in "${lines}" ; do
-echo
-#echo $line[$1]
-#echo $line[$2]
-echo $1
-echo
-done
-done
-exit 0
-
-#for i in $( cat $mikrotik_file ) ; do
-#cat $mikrotik_file | while read -r line ; do
-#-a HR ; do
-# [[ -z $0 ]] && continue # skip empty lines
-set -- $line
-echo
-echo "line = "$line
-echo
-# [[ -z ${line[0]} ]] && continue # skip empty lines
-echo $@
-echo
-routername=$1
-#${HR[0]}
-sshhost=$2
-#${HR[1]}
-sshport=$3
-#${HR[2]}
-
-SSH_OPTS="-i "$SSH_KEY" -o PasswordAuthentication=no -p "$sshport" "$sshuser"@"$sshhost
-
-current_export_name=$routername"-config-export-current.rsc"
-
-echo
-echo $routername
-echo
-echo $current_export_name
-echo
-
-
-#echo "Get current export file ($time) "$RESULT
-# >> $log
-#sshpass -p $sshpassword ssh -o StrictHostKeyChecking=no $sshuser@$sshhost -p $sshport export >$current_export_name
-ssh $SSH_OPTS " export file="$current_export_name"; delay 3s;" && continue
-if [ $? -eq 0 ]; then
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
-echo "Create configuration $routername success ($time)"
-# >> $log
-echo
-else
-echo -n "$(tput hpa $(tput cols))$(tput cub 6)[ERROR]"
-echo "Create configuration $i failed ($time)"
-# >> $log
-echo
-fi
-
-done
-#done
-#exit 0
-# cat $mikrotik_file | while read -a HR ; do
-# [[ -z ${HR[0]} ]] && continue # skip empty lines
-#while IFS=" " read -a line -r || [ -n "$line" ]; do
-#echo $line
-#echo ${line[0]}
-#echo ${line[1]}
-#echo ${line[2]}
-#echo ${line[3]}
-#RouterName=${line[0]}
-#SSHhost=${line[1]}
-#SSHport=${line[2]}
-
-#SSH_OPTS="-i $SSH_KEY -o PasswordAuthentication=no -p $SSHport"
-#current_export_name="$RouterName-config-export-current.rsc"
-#ssh $SSH_OPTS $SSHuser@$SSHhost export >$current_export_name
-# 2>&1
-# "; delay 3s;" && continue
-# sshpass -p $SSHpassword ssh -o StrictHostKeyChecking=no $SSHuser@$SSHhost -p $SSHport export >$current_export_name
-
-# Escape backslashes, dollar signs, and quotes
-# line=$(echo "$line" | sed 's/\\/\\\\/g' | sed 's/\$/\\$/g' | sed 's/"/\\"/g')
-# if [ -z "$SCRIPT_CONTENT" ]; then
-# SCRIPT_CONTENT="$line"
-# else
-# SCRIPT_CONTENT="$SCRIPT_CONTENT\\n$line"
-# fi
-#continue
-#done < "$HostsFile"
-exit 0
-
+++ /dev/null
-# Makefile
-
-BUILD_DIR = $(shell pwd)
-
-BIN_DIR = bin
-commitinfo.sh := $(wildcard bin/commitinfo.sh)
-
-HTML_DIR = html
-ALL_RSC := $(wildcard html/*.rsc html/*/*.rsc)
-GLOB_RSC := $(wildcard html/AM-GlobalFunc.rsc)
-
-DATE ?= $(shell (date '+%T %d.%m.%Y'))
-DTSTAMP_FMT ?= "+%Y%m%d%H%M"
-DTSTAMP ?= $(shell (date $(DTSTAMP_FMT)))
-VERSION ?= $(shell git symbolic-ref --short HEAD 2>/dev/null)/$(shell git rev-list --count HEAD 2>/dev/null)/$(shell git rev-parse --short=8 HEAD 2>/dev/null)
-RUN_OWNER := $(shell whoami 2>/dev/null)
-COMM_REPO := $(shell git rev-parse --show-toplevel | rev | cut -d/ -f1 | rev 2>/dev/nul)
-COMM_BRANCH := $(shell git symbolic-ref --short HEAD 2>/dev/null)
-
-COMM_TAG := $(shell git rev-list --abbrev-commit --tags --max-count=1)
-# `2>/dev/null` suppress errors and `|| true` suppress the error codes.
-TAG := $(shell git describe --abbrev=0 --tags ${COMM_TAG} 2>/dev/null || true)
-# here we strip the version prefix
-TAG_VERS :=$(TAG:v%=%)
-# get the latest commit hash in the short form
-COMM_HASH := $(shell git rev-parse --short=8 HEAD 2>/dev/null) # Get short commit hash
-#COMMIT := $(shell git rev-parse --short HEAD)
-# get the latest commit date in the form of YYYYmmddHHMM ($(DTSTAMP_FMT))
-COMM_DATE := $(shell git log -1 --format=%cd --date=format:$(DTSTAMP_FMT))
-ifneq ($(COMM_HASH), $(COMM_TAG))
- TAG_VERS :=$(TAG_VERS)-next-$(COMM_HASH)-$(COMM_DATE)
-endif
-ifeq ($(TAG_VERS), )
- TAG_VERS :=$(COMM_HASH)-$(COMM_DATE)
-endif
-ifneq ($(shell git status --porcelain), )
- TAG_VERS :=$(TAG_VERS)-dirty
-endif
-
-COMMIT_ID := $(VERSION)
-COMM_INFO := $(shell echo -e "Autocommit in repo: $(COMM_REPO), generated by owner: $(RUN_OWNER), in $(DATE)." 2>/dev/null)
-
-export BUILD_DIR BIN_DIR HTML_DIR DATE DTSTAMP VERSION COMMIT_ID COMM_TAG COMM_HASH COMM_INFO
-
-SHELL := /bin/bash
-
-export BUILD_DIR BIN_DIR HTML_DIR DATE DTSTAMP VERSION COMMIT_ID COMM_TAG COMM_HASH COMM_INFO COMM_DATE
-
-.ONESHELL:
-
-.DEFAULT_GOAL := run
-
-export BUILD_DIR BIN_DIR HTML_DIR DATE DTSTAMP VERSION COMMIT_ID COMM_TAG COMM_HASH COMM_INFO
-
-include $(BUILD_DIR)/.config/config.mk
-
-.PHONY: run check notify checksums commitinfo test
-
-run: check
- @echo "[run] start main flow"
- checksums
- commitinfo
- @echo "[run] done"
-
-check:
- @bash bin/check_repo.sh
-
-notify:
- @bash bin/notify_telegram.sh "manual notify from make"
-
-checksums: checksums.json
-
-checksums.json: bin/checksums.sh $(ALL_RSC)
- bin/checksums.sh > html/tmp/$@
-
-test:
- @bash -n bin/check_repo.sh
- @bash -n bin/notify_telegram.sh
- @bash -n bin/checksums.sh
- @bash -n bin/commitinfo.sh
- @echo "syntax ok"
-
-
-.DEFAULT_GOAL := all
-#.PHONY: all checksums git-check commitinfo clean
-#all: checksums git-check commitinfo
-
-
-gitcheck: $(BUILD_DIR)
- cd $ &&
- @if git diff --quiet && git diff --cached --quiet && [ -z "$$(git ls-files --others --exclude-standard)" ]; then \
- echo "The first checks have been passed, the repo seems to be clean... But... Still, let's check a little more!"; \
- git add . && \
- if [[ -n "$$(git status --porcelain)" ]]; then \
- echo "Uncommitted changes detected! Commit it..."; \
-# git commit -m "$(COMM_INFO)"; \
-# git push; \
- exit 1; \
- else \
- echo "repo clean"; \
- fi \
- else \
- @echo "Warning: Uncommitted changes detected! Go to autocommit steps..."; \
- git branch -v; \
-# git commit -am "$(COMM_INFO)"; \
-# git push; \
- fi
-
-
-#@if [ -n "$$(git diff --quiet)" ] && [ -n "$$(git diff --cached --quiet)" ] && [ -n "$$(git ls-files --others --exclude-standard)" ]; then \
-#[ -n "$$(git status --porcelain)" ]
-
-check-uncommitted:
- @if [ -n "$$(git diff --quiet)" ] && [ -n "$$(git diff --cached --quiet)" ] && [ -n "$$(git ls-files --others --exclude-standard)" ]; then \
- echo "Warning: Uncommitted changes detected! Go to autocommit steps..."; \
- else \
- echo "The first checks have been passed, the repo seems to be clean... But... Still, let's check a little more!"; \
- if git status --porcelain; then \
- echo "Repository is clean (no uncommitted or untracked changes). Exit 0."; \
- exit 0; \
- else \
- echo "Error! Git status is not porcelain! Check it mannualy. Exit 1."; \
- exit 1; \
- fi \
- fi
-
-
-# if [[ -n "`$(rungit) status --porcelain`" ]];: then \
- echo "Warning: Uncommitted changes detected! Go to autocmmit..."; \
- git commit -m "$(COMM_INFO)"; \
- git push origin $(COMM_BANCH); \
- else \
- echo "Repository is clean (no uncommitted or untracked changes). Exit 0."; \
- exit 0; \
- fi
-
-commitinfo: $(commitinfo.sh)
-
-.PHONY: $(commitinfo.sh)
-$(commitinfo.sh): $(GLOB_RSC)
- $(commitinfo.sh) $< > $<~
- mv $<~ $<
-
-
-clean:
- git checkout HEAD -- .
-
-# rm -f $(HTML) checksums.json
-# make -C contrib/ clean
+++ /dev/null
-exit
-ssh-keygen -t rsa -b 2048
-mc
-cd .bin
-ls -la
-cd ~
-ls -la
-cd .bin/ros-conf/
-ls -la
-./setup-ssh-keys.sh
-ssh mikro_bak@10.30.30.10
-ssh mikro_bak@10.30.30.10 2222
-ssh mikro_bak@10.30.30.10 -p 2222
-exit
-ssh mikro_bak@10.30.30.10 -p 2222
-cd ~./bin
-ls -la
-cd ~
-cd .bin/
-ls -la
-cd ros-conf/
-ls -la
-mc
-./setup-ssh-keys.sh
-ssh mikro_bak@10.30.30.10 -p 2222
-ls -la .
-./setup-ssh-keys.sh
-ssh://mikro_bak@10.30.30.10:2222
-ssh ssh://mikro_bak@10.30.30.10:2222/
-ls -la
-cd .bin/
-cd ros-conf/
-ls -la
-./setup-ssh-keys.sh
-mc
-exit
-./setup-ssh-keys.sh
-source ~/.bashrc
-mc
-./setup-ssh-keys.sh
-ls -la .
-cd .bin/
-ls -la .
-cd ros-conf/
-./setup-ssh-keys.sh
-exit
-./setup-ssh-keys.sh
-../
-cd ~
-cd .bin/
-cd ros-conf/
-./setup-ssh-keys.sh
-mc
-exit
-cd ~
-cd .bin/
-cd ros-conf/
-./setup-ssh-keys.sh
-ssh mikro_bak@10.30.30.10 -p 2222
-./setup-ssh-keys.sh
-cat mikro_bak_rsa@10.30.30.81.pub
-ssh mikro_bak@10.30.30.10 -p 2222
-ssh mikro_bak@10.30.30.81 -p 2222
-]
-"|
-'57777774799666999-9600609+
-q
-\
-;
-#
-
-ssh ssh://mikro_bak@10.30.30.81:2222
-./setup-ssh-keys.sh
-ssh ssh://mikro_bak@10.30.30.81:2222
-ssh mikro_bak@10.30.30.81
-ssh mikro_bak@10.30.30.81 -p 2222
-mc
-exit
-cat mikro_bak_rsa@10.30.30.81.pub >> known_hosts
-ssh mikro_bak@10.30.30.81 -p 2222
-ssh mikro_bak@10.30.30.81 -p 2222
-ssh -vvv mikro_bak@10.30.30.81 -p 2222
-mc
-exit
-ssh -vvv mikro_bak@10.30.30.81 -p 2222
-mc
-ssh -vvv mikro_bak@10.30.30.81 -p 2222
-
-\['
-p[ol-0]\p;l-]\
-p;ki
-exit
-mc
-ssh -vvv mikro_bak@10.30.30.81 -p 2222
-ssh mikro_bak@10.30.30.10 -p 2222
-mc
-exit
-chmod +x get_backups.sh
-./test.sh
-./get_backups.sh
-ssh mikro_bak@10.30.30.10 -p 2222
-ssh mikro_bak@10.30.30.81 -p 2222
-mc
-exit
-./test.sh
-exit
-bash --version
-readarray -t lines < "$mikrotik_file"
-readarray -t lines < "../.mikrotik"
-readarray -t lines < "../.mikrotiks"
-echo $lines
-readarray lines < "../.mikrotiks"
-echo $lines
-readarray lines < "../.mikrotiks"
-echo $lines
-readarray lines < "../.mikrotiks"
-echo $lines
-./test.sh
-./test.sh
-./ROSdiff.sh
-/ROSdiff.sh
-ROSdiff.sh
-./ROSdiff.sh
-exit
-bash -V
-bash --version
-./test.sh
-./test.sh
-/bin/bash
-./ROSdiff.sh
-exit
-./test.sh
-sshpass -h
-./test.sh
-bash -v
-exit
-./test.sh
-mc
-exit
-./ROSdiff.sh
-exit
-mc
-./ROSdiff.sh
-exit
-./ROSdiff.sh
-./ROSdiff.sh
-ls -la .
-mc
-./ROSdiff.sh
-mc
-exit
-./ROSdiff.sh
-exit
-./ROSdiff.sh
-exit
-./ROSdiff.sh
-sed -i 's/\r//' ./ROSdiff.sh
-./ROSdiff.sh
-./ROSdiff.sh
-touch rdiff.sh
-chmod +x rdiff.sh
-./ROSdiff.sh
-exit
-./ROSdiff.sh
-exit
-./ROSdiff.sh
-mc
-./ROSdiff.sh
-exit
-chmod +x ros-deploy.sh
-exit
-./ROSdiff.sh
-mc
-exit
-chmod +x ros-deploy.sh
-./ros-deploy.sh -h
-./ros-deploy.sh -H
-git clone https://github.com/tarikin/ros-deploy.git
-./ros-deploy.sh --help
-./ROSdiff.sh
-./ros-deploy.sh -h mikro_bak@10.30.30.81:2222 -s ./scripts/mktmpfs.rsc -i ../.ssh/id_rsa
-./ROSdiff.sh
-ssh-add
-ssh -i
-./ROSdiff.sh
-ssh -i ../.ssh/id_rsa
-mc
-exit
-./ROSdiff.sh
-scp
-./ROSdiff.sh
-wget https://github.com/tarikin/ros-deploy/archive/refs/tags/v1.2.1.tar.gz
-mc
-exit
-./ROSdiff.sh
-diff ./get_backups.sh ../.bak/get_backups.sh >> get_backups.diff
-touch config
-./ROSdiff.sh
-source ~/.bashrc
-mc
-./ROSdiff.sh
-mc
-./ROSdiff.sh
-mc
-./ROSdiff.sh
-mc
-./ROSdiff.sh
-mc
-./ROSdiff.sh
-mc
-./rdiff.sh
-mc
-./rdiff.sh
-mc
-ssh mikro_bak@10.30.30.86 -p 2222
-mc
-./ros-diff.sh
-./ros-diff.sh
-mc
-./ros-diff.sh
-crontab -e */20 * * * * /var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh
-crontab -u $whoami -e */20 * * * * /var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh
-crontab -l
-crontab -e
-crontab -l
-mc
-./run.sh
-vigr
-./run.sh
-passwd mikro_bak
-./run.sh
-git init
-git config --global amster-dev
-git config --global vados-dev
-git branch -m main
-git add MikroNUC/
-git add MikroMaster/
-git add MikroYellow/
-git commit MikroNUC/ -m "Initial Commit"
-git commit MikroMaster/ -m "Initial Commit"
-git commit MikroYellow/ -m "Initial Commit"
-git push ~/backups
-git push ~/backups main
-git config --global init.defaultBranch main
-git config core.repositoryformatversion 0
-git config core.filemode true
-git config core.bare true
-git config receive.denyCurrentBranch ignore
-git remote add origin git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git push origin main
-git remote add origin git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git push origin main
-ssh git@amster-nuc
-cat id_rsa.mikro_bak.pub
-ssh git@amster-nuc
-ssh-keygen -t rsa -b 2048
-cat id_rsa.mikro_bak.pub
-ssh git@amster-nuc
-ssh mikro_bak@amster-nuc
-ssh git@amster-nuc
-ssh -vvv git@amster-nuc
-ssh-keygen -t rsa -b 2048
-ssh-keygen -t rsa -b 2048 -C "git@amster-nuc"
-cat id_rsa.mikro_bak.amster-nuc.pub
-ssh -vvv git@amster-nuc
-cat id_rsa.pub
-ssh -vvv git@amster-nuc
-git push origin main
-git init
-git add .
-git commit -m 'Initial commit'
-git remote add origin git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git push origin main
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-ls -la .
-git commit -m 'Add .gitignore'
-git add .
-git commit -m 'Add .gitignore'
-git push origin main
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git push origin main
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git add .
-git commit -m 'Edit .gitignore'
-git push origin main
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git config --global user.name mikro_bak
-git config --global user.email vados@vados.ru
-git init
-git add .
-git commit -m 'Initial commit'
-git init
-git add .
-git commit -m 'Initial commit'
-git remote add origin mikro_bak@amster-nuc:/.data/nfs/git/Mikrotiks/backups.git
-git push origin main
-git remote add origin git@amster-nuc:/.data/nfs/git/Mikrotiks/backups.git
-git remote remove origin mikro_bak@amster-nuc:/.data/nfs/git/Mikrotiks/backups.git
-git remote remove origin mikro_bak@amster-nuc
-git remote remove mikro_bak@amster-nuc
-git remote remove origin mikro_bak@amster-nuc
-git init
-git add .
-git commit -m 'Initial commit'
-git remote add origin git@amster-nuc:/.data/nfs/git/Mikrotiks/backups.git
-git push origin main
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backup_configs.git
-git clone git@amster-nuc:/.data/nfs/git/Mikrotiks/backups.git
-./ros-diff.sh
-cat authorized_keys
-cat id_rsa
-cat id_rsa.pub
-git init
-git add .
-git commit -m 'Initial commit'
-ssh git@vados-nuc
-git remote add origin git@vados-nuc:/backups.git
-git push origin main
-git init
-git add .
-git commit -am 'Initial commit'
-git remote add origin git@vados-nuc:d:/.bak/Mikrotiks/backups.git
-git push origin main
-git config --local remote.origin.receivepack "powershell git-receive-pack"
-git config --local remote.origin.uploadpack "powershell git-upload-pack"
-git push origin main
-$env:GIT_SSH_COMMAND = '"C:\WINDOWS\System32\OpenSSH\ssh.exe" -T'
-git config --local remote.origin.receivepack "powershell git-receive-pack"
-git config --local remote.origin.uploadpack "powershell git-upload-pack"
-git fetch origin
-git remote add origin git@vados-nuc:/d/.bak/Mikrotiks/backups.git
-git init
-git add .
-git commit -am 'Initial commit'
-git remote add origin git@vados-nuc:/d/.bak/Mikrotiks/backups.git
-git fetch origin
-git config --local remote.origin.uploadpack "powershell git-upload-pack"
-git config --local remote.origin.receivepack "powershell git-receive-pack"
-git fetch origin
-git push origin
-git push --set-upstream origin main
-git push --set-upstream origin main -vvv
-ping vados-nuc
-git push --set-upstream origin main -vvv
-git push --set-upstream origin main
-source ~/.bashrc
-git push --set-upstream origin main
-source ~/.bashrc
-git push --set-upstream origin main
-source ~/.bashrc
-git push --set-upstream origin main
-ssh git@vados-nuc
-ssh-add
-git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe" eval $(ssh-agent)
-git push --set-upstream origin main
-ls -al ~/.ssh
-source ~/.bashrc
-git push --set-upstream origin main
-source ~/.bashrc
-git push --set-upstream origin main
-source ~/.bashrc
-git push --set-upstream origin main
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-git init
-git add .
-git commit -am 'Initial commit'
-git fetch origin
-git push --set-upstream origin main
-git remote add origin git@vados-nuc:/d/.bak/Mikrotiks/ba
-git push --set-upstream origin main
-git fetch origin
-git push --set-upstream origin main
-git fetch origin
-git push --set-upstream origin main
-git fetch origin
-git push --set-upstream origin main
-git fetch origin
-git fetch origin -v
-git -vvv fetch origin
-git -v fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git config --list
-git config --global protocol.version 2
-git config --list
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git config --local remote.origin.receivepack "powershell git-receive-pack"
-git config --local remote.origin.uploadpack "powershell git-upload-pack"
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-git push --set-upstream origin main
-git fetch origin
-./ros-diff.sh
-git add .
-git init
-git add .
-git commit 'Reinit commit'
-git commit -m 'Reinit commit'
-git fetch origin
-git push --set-upstream origin main
-git add .
-./ros-diff.sh
-git fetch origin
-git config --local remote.origin.uploadpack "powershell git-upload-pack"
-git config --local remote.origin.receivepack "powershell git-receive-pack"
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-git fetch origin
-GIT_SSH_COMMAND="ssh -v" git fetch
-./ros-diff.sh
-set -o
-set -o piperfail
-set -o pipefail
-set -o
-set +o pipefail
-set -o
-set +o pipefail
-set -o
-set +e
-set -o
-set -e
-set -o
-./ros-diff.sh
-rm -d tmp/
-./ros-diff.sh
-cat ros-deploy.sh
-./ros-diff.sh
-\date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'
-\date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'date '+%d.%m.%Y'
-(date '+%d.%m.%Y')
-(date '%H:%M:%S %z')
-(date '+%H:%M:%S %z')
-./ros-diff.sh
-kdialog --password "Пожалуйста, введите свой пароль:"kdialog --password "Пожалуйста, введите свой пароль:"kdialog --password "Пожалуйста, введите свой пароль:"
-clear
-reset
-dialog --title " Уведомление " --msgbox "\n Свершилось что-то страшное!" 6 50
-echo -n "Продолжить? (y/n) "
-read item
-case "$item" in y|Y) echo "Ввели «y», продолжаем..."; ;; n|N) echo "Ввели «n», завершаем..."; exit 0; ;; *) echo "Ничего не ввели. Выполняем действие по умолчанию..."; ;; esac
-$(tput setf 4)
-echo tt
-echo -n "$(tput setf 4) ee"
-echo -n "$(tput setf 2) ee"
-./test.sh
-./ros-diff.sh
-'\033[0m'
-\033[0m
-reset
-./ros-diff.sh
-gg
-./ros-diff.sh
-git clone https://github.com/lnfnunes/bash-progress-indicator.git
-./ros-diff.sh
-main.sh spinner 1
-./main.sh spinner 1
-./main.sh spinner1
-cd ..
-./ros-diff.sh
-clear
-./ros-diff.sh
-ssh -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no -p 2222 mikro_bak@10.30.30.10 export >Config.rsc
-ssh -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no -p 2222 mikro_bak@10.30.30.10 export >Config.rsc 2>1
-ssh -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no -p 2222 mikro_bak@10.30.30.10 export >Config.rsc >&1
-ssh -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no -p 2222 mikro_bak@10.30.30.10 export >Config.rsc >&2
-ssh -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no -p 2222 mikro_bak@10.30.30.10 export
-./ros-diff.sh
-clear
-./ros-diff.sh
-diff --help
-./ros-diff.sh
-ros-diff.sh
-./ros-diff.sh
-1
-./ros-diff.sh
-/usr/bin/ssh -2 -4 -p 2222 -l mikro_bak 10.30.30.10 -i /var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa -o PasswordAuthentication=no export > "/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/tmp/Config.rsc"
-`
-
-q
-./ros-diff.sh
-cd ..
-cd backups/
-git fetch
-git add .
-git push
-./ros-diff.sh
-git init
-git add .
-git config --global --add safe.directory /var/www/ros.vados.ru
-git add .
-git commit -m 'Initial commit'
-git push
-git push origin
-git fetch origin
-git config --global --add safe.directory /var/www/ros.vados.ru
-git init
-git config --global --add safe.directory /var/www/ros.vados.ru
-git add .
-git commit -m 'Initial commit'
-git init
-git commit -m 'Initial commit'
-git add .
-git commit -m 'Initial commit'
-git init
-cat config
-git add .
-git commit -m 'Initial commit'
-git fetch origin
-git push origin
-git pull
-git push
-git init
-git add .
-git commit -m 'Initial commit 1'
-git fetch
-git push
-git init
-git add .
-git commit -m 'Initial commit'
-git push
-./ros-diff.sh
-./test.sh
-./ros-diff.sh
-touch ~/.gnupg/gpg-agent.conf
-gpg --import vados-dev_public.gpg
-gpg --delete vados-dev
-gpg --import vados-dev.pub
-gpg -k
-git config --global user.signingkey ABE4CF61A85CDD6E15F2C02DFCC5E4C7407B8BF7
-git config --global commit.gpgsign true
-cd ~
-mc
-exit
-gpg -k
-clear
-gpg -k
-gpg --delete ABE4CF61A85CDD6E15F2C02DFCC5E4C7407B8BF7
-cd Mikrotiks/
-gpg --import gpg_vados-dev.pub
-gpg --import gpg_vados-dev.asc
-ls -la
-gpg --import gpg_vados-dev.asc
-gpg -k
-gpg --delete 0x1FD2694762FCE438
-gpg --import gpg_vados-dev.asc
-cd ~
-gpg --import gpg_vados-dev.asc
-gpg --import gpg_vados-dev.asc
-gpg -k
-exit
-mc
-cd ~
-source ~/.bashrc
-mc
-cd ~/.ssh/
-cat authorized_keys
-cd ../
-gpg -k
-gpg --delete 0x1FD2694762FCE438
-exit
-git fetch
-git push
-git push main
-git push --set-upstream main main
-git commit -m 'Mikro_bak Initial Commit.'
-git config --global --add safe.directory /var/www/ros.vados.ru
-git commit -m 'Mikro_bak Initial Commit.'
-mc
-exit
-./ros-diff.sh
-cd ~
-mc
-git config --global --add safe.directory /.data/nfs/repos/Mikrotiks/ros.vados.ru.git
-git add .
-git commit -m 'Fuck You!'
-git push
-cd ~
-cd .bin/
-./ros-diff.sh
-cd ~
-gpg -k
-gpg --import gpg_vados-dev.pub
-gpg --import gpg_vados-dev.asc
-ls -la
-gpg --import ~/gpg_vados-dev.asc
-mc
-gpg -k
-gpg --list-secret-keys --keyid-format LONG
-gpg --import gpg_vados-dev.asc
-gpg --edit-key 0x1FD2694762FCE438
-git config --global user.signingkey 0x1FD2694762FCE438
-git config --global commit.gpgsign true
-mc
-./ros-diff.sh
-git init
-git add .
-git commit -m 'Mikro_bak Initial Commit'
-git log --show-signature -1
-git init
-git add .
-git commit -m 'mikro_bak Initial Commit'
-git push /.data/nfs/repos/Mikrotiks/backups.git main
-git remote add origin /.data/nfs/repos/Mikrotiks/backups.git
-git remote -v
-git remote show origin
-./ros-diff.sh
-git push /.data/nfs/repos/Mikrotiks/ros.vados.ru.git main
-git remote add origin /.data/nfs/repos/Mikrotiks/ros.vados.ru.git
-git push /.data/nfs/repos/Mikrotiks/ros.vados.ru.git main
-git remote show origin
-git init
-git add .
-git init
-git add .
-git commit -m 'mikro_bak initial Commit'
-git push /.data/nfs/repos/Mikrotiks/ros.vados.ru.git main
-git remote add origin /.data/nfs/repos/Mikrotiks/ros.vados.ru.git
-git remote show origin
-git push
-git push --set-upstream origin main
-git push origin main
-git push --set-upstream origin main
-git push origin main
-git push
-git config --global --add safe.directory /.data/nfs/repos/Mikrotiks/ros.vados.ru.git
-git add .gitignore
-git commit -m 'Add Mikrotiks to ignore folders.'
-git push
-git init --bare
-git init
-git config --global init.defaultBranch main
-git config --global user.name "vados-dev"
-git config --global user.email "vados@vados.ru"
-git add .
-git commit -m 'mikro_bak Initial Commit'
-git push /.data/nfs/repos/Mikrotiks/Mikrotiks.git main
-git remote add origin /.data/nfs/repos/Mikrotiks/Mikrotiks.git
-git remote -v
-git push origin main
-git remote -v
-git push /.data/nfs/repos/Mikrotiks/Mikrotiks.git main
-git push origin main
-git remote add origin /.data/nfs/repos/Mikrotiks/Mikrotiks.git
-git fetch origin
-gpg -k
-git config --list
-source ~/.bashrc
-git fetch origin
-git push origin main
-git push
-git push --set-upstream origin main
-git push
-git add .
-git commit -m 'nna'
-git push
-./ros-diff.sh
-$(shell date --rfc-email)
-makec $(shell date --rfc-email)
-make $(shell date --rfc-email)
-git checkout HEAD .
-cd ~
-mc
-exit
-cd ~/.bin
-/usr/bin/bash && su mikro_bak && cd ~/.bin/
+++ /dev/null
-# ~/.bashrc: executed by bash(1) for non-login shells.
-# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
-# for examples
-
-# If not running interactively, don't do anything
-case $- in
- *i*) ;;
- *) return;;
-esac
-
-# don't put duplicate lines or lines starting with space in the history.
-# See bash(1) for more options
-HISTCONTROL=ignoreboth
-
-# append to the history file, don't overwrite it
-shopt -s histappend
-
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
-HISTSIZE=1000
-HISTFILESIZE=2000
-
-# check the window size after each command and, if necessary,
-# update the values of LINES and COLUMNS.
-shopt -s checkwinsize
-
-# If set, the pattern "**" used in a pathname expansion context will
-# match all files and zero or more directories and subdirectories.
-#shopt -s globstar
-
-# make less more friendly for non-text input files, see lesspipe(1)
-[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
-
-# set variable identifying the chroot you work in (used in the prompt below)
-if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
- debian_chroot=$(cat /etc/debian_chroot)
-fi
-
-# set a fancy prompt (non-color, unless we know we "want" color)
-case "$TERM" in
- xterm-color|*-256color) color_prompt=yes;;
-esac
-
-# uncomment for a colored prompt, if the terminal has the capability; turned
-# off by default to not distract the user: the focus in a terminal window
-# should be on the output of commands, not on the prompt
-#force_color_prompt=yes
-
-if [ -n "$force_color_prompt" ]; then
- if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
- # We have color support; assume it's compliant with Ecma-48
- # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
- # a case would tend to support setf rather than setaf.)
- color_prompt=yes
- else
- color_prompt=
- fi
-fi
-
-if [ "$color_prompt" = yes ]; then
- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
-else
- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
-fi
-unset color_prompt force_color_prompt
-
-# If this is an xterm set the title to user@host:dir
-case "$TERM" in
-xterm*|rxvt*)
- PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
- ;;
-*)
- ;;
-esac
-
-# enable color support of ls and also add handy aliases
-if [ -x /usr/bin/dircolors ]; then
- test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
- alias ls='ls --color=auto'
- #alias dir='dir --color=auto'
- #alias vdir='vdir --color=auto'
-
- alias grep='grep --color=auto'
- alias fgrep='fgrep --color=auto'
- alias egrep='egrep --color=auto'
-fi
-
-# colored GCC warnings and errors
-#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
-
-# some more ls aliases
-alias ll='ls -alF'
-alias la='ls -A'
-alias l='ls -CF'
-
-# Add an "alert" alias for long running commands. Use like so:
-# sleep 10; alert
-alias alert='n8otify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
-
-# Alias definitions.
-# You may want to put all your additions into a separate file like
-# ~/.bash_aliases, instead of adding them here directly.
-# See /usr/share/doc/bash-doc/examples in the bash-doc package.
-
-if [ -f ~/.bash_aliases ]; then
- . ~/.bash_aliases
-fi
-
-# enable programmable completion features (you don't need to enable
-# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
-# sources /etc/bash.bashrc).
-if ! shopt -oq posix; then
- if [ -f /usr/share/bash-completion/bash_completion ]; then
- . /usr/share/bash-completion/bash_completion
- elif [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
- fi
-fi
-
-# Terminal Prompt full paths
-export PROMPT_DIRTRIM=5
-export force_color_prompt=yes
-export GIT_SSH=$(which ssh)
-#'"c:\WINDOWS\System32\OpenSSH\ssh.exe" -T'
-eval $(ssh-agent)
-ssh-add
-GPG_TTY=`tty`
-export GPG_TTY
+++ /dev/null
-Midnight Commander TreeStore v 2.0
+++ /dev/null
-MikroNUC 10.30.30.10 2222 mikro_bak Peskar55
-MikroMaster 10.30.30.81 2222 mikro_bak Peskar55
-MikroYellow 10.30.30.86 2222 mikro_bak Peskar55
+++ /dev/null
-[Midnight-Commander]
-verbose=true
-shell_patterns=true
-auto_save_setup=true
-preallocate_space=false
-auto_menu=false
-use_internal_view=true
-use_internal_edit=true
-clear_before_exec=true
-confirm_delete=true
-confirm_overwrite=true
-confirm_execute=false
-confirm_history_cleanup=true
-confirm_exit=false
-confirm_directory_hotlist_delete=false
-confirm_view_dir=false
-safe_delete=false
-safe_overwrite=false
-use_8th_bit_as_meta=false
-mouse_move_pages_viewer=true
-mouse_close_dialog=false
-fast_refresh=false
-drop_menus=true
-wrap_mode=true
-old_esc_mode=true
-cd_symlinks=true
-show_all_if_ambiguous=false
-use_file_to_guess_type=true
-alternate_plus_minus=false
-only_leading_plus_minus=true
-show_output_starts_shell=false
-xtree_mode=false
-file_op_compute_totals=true
-classic_progressbar=true
-use_netrc=true
-ftpfs_always_use_proxy=false
-ftpfs_use_passive_connections=true
-ftpfs_use_passive_connections_over_proxy=false
-ftpfs_use_unix_list_options=true
-ftpfs_first_cd_then_ls=true
-ignore_ftp_chattr_errors=true
-editor_fill_tabs_with_spaces=false
-editor_return_does_auto_indent=false
-editor_backspace_through_tabs=false
-editor_fake_half_tabs=true
-editor_option_save_position=true
-editor_option_auto_para_formatting=false
-editor_option_typewriter_wrap=false
-editor_edit_confirm_save=true
-editor_syntax_highlighting=true
-editor_persistent_selections=true
-editor_drop_selection_on_copy=true
-editor_cursor_beyond_eol=false
-editor_cursor_after_inserted_block=false
-editor_visible_tabs=true
-editor_visible_spaces=true
-editor_line_state=false
-editor_simple_statusbar=false
-editor_check_new_line=false
-editor_show_right_margin=false
-editor_group_undo=true
-editor_state_full_filename=true
-editor_ask_filename_before_edit=false
-nice_rotating_dash=true
-mcview_remember_file_position=false
-auto_fill_mkdir_name=true
-copymove_persistent_attr=true
-pause_after_run=2
-mouse_repeat_rate=100
-double_click_speed=250
-old_esc_mode_timeout=1000000
-max_dirt_limit=10
-num_history_items_recorded=60
-vfs_timeout=60
-ftpfs_directory_timeout=900
-ftpfs_retry_seconds=30
-fish_directory_timeout=900
-editor_tab_spacing=8
-editor_word_wrap_line_length=72
-editor_option_save_mode=0
-editor_backup_extension=~
-editor_filesize_threshold=64M
-editor_stop_format_chars=-+*\\,.;:&>
-mcview_eof=
-skin=default
-
-filepos_max_saved_entries=1024
-shadows=true
-shell_directory_timeout=900
-
-[Layout]
-output_lines=0
-left_panel_size=118
-top_panel_size=0
-message_visible=false
-keybar_visible=false
-xterm_title=true
-command_prompt=true
-menubar_visible=false
-free_space=true
-horizontal_split=false
-vertical_equal=true
-horizontal_equal=true
-
-[Misc]
-timeformat_recent=%b %e %H:%M
-timeformat_old=%b %e %Y
-ftp_proxy_host=gate
-ftpfs_password=anonymous@
-display_codepage=ASCII
-source_codepage=ASCII
-autodetect_codeset=
-spell_language=en
-clipboard_store=
-clipboard_paste=
-
-[Colors]
-base_color=
-xterm-256color=
-color_terminals=
-linux=
-xterm=
-
-[Panels]
-simple_swap=false
-show_mini_info=true
-kilobyte_si=false
-mix_all_files=false
-show_backups=true
-show_dot_files=true
-fast_reload=false
-fast_reload_msg_shown=false
-mark_moves_down=true
-reverse_files_only=true
-auto_save_setup_panels=false
-navigate_with_arrows=true
-panel_scroll_pages=true
-panel_scroll_center=false
-mouse_move_pages=true
-filetype_mode=true
-permission_mode=false
-torben_fj_mode=false
-quick_search_mode=2
-select_flags=6
-
-[FindFile]
-file_case_sens=true
-file_shell_pattern=true
-file_find_recurs=true
-follow_symlinks=true
-file_skip_hidden=false
-file_all_charsets=false
-content_case_sens=true
-content_regexp=false
-content_first_hit=false
-content_whole_words=false
-content_all_charsets=false
-ignore_dirs_enable=true
-ignore_dirs=
-
-[Panelize]
-Find *.orig after patching=find . -name \\*.orig -print
-Find rejects after patching=find . -name \\*.rej -print
-Modified git files=git ls-files --modified
-Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
+++ /dev/null
-[New Left Panel]
-display=listing
-reverse=false
-case_sensitive=true
-exec_first=false
-sort_order=name
-list_mode=full
-brief_cols=2
-user_format=half type name | size | perm
-user_status0=half type name | size | perm
-user_status1=half type name | size | perm
-user_status2=half type name | size | perm
-user_status3=half type name | size | perm
-user_mini_status=false
-list_format=full
-
-[New Right Panel]
-display=listing
-reverse=false
-case_sensitive=true
-exec_first=false
-sort_order=name
-list_mode=full
-brief_cols=2
-user_format=half type name | size | perm
-user_status0=half type name | size | perm
-user_status1=half type name | size | perm
-user_status2=half type name | size | perm
-user_status3=half type name | size | perm
-user_mini_status=false
-list_format=full
-
-[Dirs]
-current_is_left=true
-other_dir=/mnt/d/dst/D41/vbmeta-tools
+++ /dev/null
-{
- "auths": {
- "ghcr.io": {
- "auth": "cG9ydGFpbmVyX3J1bm5lcjpnaHBfV2pQRmh1SmxuTnhUQ3M5bzJJRVRSSFM4TnBIdUxuNEtnZ05V"
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-[user]
- name = vados-dev
- email = vados@vados.ru
- signingkey = 1FD2694762FCE438
-[color]
- ui = auto
-[safe]
- directory = /home/vados/sl8541e_cus_go
- directory = /var/www/ros.vados.ru
- directory = /var/www/ros.vados.ru/html
- directory = /var/www/ros.vados.ru/Mikrotiks
- directory = /var/www/ros.vados.ru/Mikrotiks/backups
- directory = /.data/nfs/repos/Mikrotiks
- directory = /.data/nfs/repos/Mikrotiks/Mikrotiks.git
- directory = /.data/nfs/repos/Mikrotiks/ros.vados.ru.git
-[init]
- defaultBranch = main
-[core]
- autocrlf = false
-[protocol]
- version = 2
-[commit]
- gpgsign = true
-[gpg]
- program = gpg2
+++ /dev/null
-# folder for backups repo
-backups/
-backups/**
-bin/logs/
-.gnupg/
-.local/
-.cache/
-oxidized/
-upload/
-test/
-.cache/
-.docker/
-.gnupg/
-.local/
-.ssh/
-.vscode/
-**/Precedent-Config.rsc
-
-.bash_history
-#.bak
-# backup and temporary files
-*~
-# patches and related files
-*.orig
-*.patch
-*.rej
+++ /dev/null
-default-cache-ttl 34560000
-max-cache-ttl 34560000
+++ /dev/null
-keyid-format 0xlong
-throw-keyids
-no-emit-version
-no-comments
+++ /dev/null
-Created: 20260302T170556
-Key: (private-key (rsa (n #00B9B822209385B68B96FB3A8BA6FCF3EFCD44E21837
- 2D539F38B630EFB0EDB11405170AF4BBB3DB7D9A79317B116BA6EF237B7442E4519E20
- 68AD77F9157FA18F2178F53749741B02A341BCC9807D9BD264D8B2B06A0D77F8D326D2
- F78740C444E48C8456B02A87ED954CC806EADDAB050359DC5E9BB06DD451456C8EE247
- 551A9382345B75A5EAFFC889B0DCA08A05E992BB13C5599C62B69C35E8CC4E9B62FFF1
- 5B5BD09C038C50651C1170A533C51997ACA8792576CBA6F99D30D679F3FCDBDA3C3B15
- AE4B6FDC70F0D29CE0F5B99B954501609A2F2CF55ABC4932D2C00814BFE7E55276942A
- 5631976A0F7EEDB3BABD2A6E29CE0E35B100F910F2E0482BF1DED0C1A49EBE6E397170
- 2C3473F73E5611DD69B46CA9C8D94BF1EC5292995CF3BE24E40C1DE6F97FF77782F92C
- CD673B1C9748DE885576B72AB24048F83C4FC055584F8B0A0F2645A04C82696D197C4B
- CA22C71B786019D5D37C320D505456BF4CC0D88F4B73FAE37BDE4CABFD30AE4BFFD267
- 3E479BEDB1F4366379C3D88474CB6F7E7BE68BF5660A14438ACD240AF84CF41DD80F0C
- EC65D5323444F870C6E2ED37C2B7926757BEBF00C59668F4DEE86CA0FB90F388719A96
- 77D9357E537F6DA34A4ED4BC41EF0F9105FDB077CB77AB99EE9C946B25559B4759117F
- 5F2E8A23EFACC7CD5B61B872F4BECDF003A89CAD32B59C10AE08AD67B147D05B68794D
- 85#)(e #010001#)(d #156872D2A37EB5D8A86A4448E5D261C2223CCEFD309B127917
- 9DF4CD246D79CC8F7BA5012A03E508B8FE406469D1297886740C264BD056B470AC9258
- 4D909D4C74F4CEFB7505A3B96D9D3DC8527DE830DBFC18B8FA389C3C3C06CD29C85700
- 68DA999205B61FE8F44B9202BABD6718F826773CCE510F08D2011E4A11BC66B19A3327
- BEA64E4CF6664EB50484A222D6E4A24BDB4F13F1D17530538C86C486E7E60DE9D48F1A
- F4D3BF4EB06A183C8AD7AD080D588C4273CBACEF381DF193343B51127A7FEB1360D1BF
- ACEB2DB3F4C08E892F2F39A5EB90059430C5E4802DC80206764AA2661B921FC138CD35
- E61C61052740F7FBA3E9033D502E87075B9FDBE1E8B89F4077DA785A9AF211FF466FD8
- 85BC29844AAA8519D45BB5A41B5B5DE2EB3229D3D291F6CD18B74272597ADAF2710D0B
- 19874B37AE3AC04C432DEB70DE5478213BB6A41396839020AB83E6A920970AD44C04BA
- 69FF14F9123D21A43235D068104CDF142CA52E64915C74777C8813DE708AA3673A6BD9
- 75956603E3ADDF33ABC4D9289208960272FC26656D619D2EDCFA65690AE8F9539B54E5
- 2F394F4602E53A31C45556C6449D75F1400AFCF5A46D405F559F9679A32C378DA1F7D3
- 8491180972EDD8D1D02894EFB86FF8966731522BFC34217ED525DD8BEA717CC74FEC8D
- 7C8AE814A281FF016CF84895D1C64680CFD7B583DCC0429BFC90C5A645A8D0A1#)(p
- #00C5DC11B26A0B58F744E80327F7BB1D47B0F3135669DC73467A584D4C68F37FA832
- 3ADBF6B823F95DCB85BC1578365F8A00693A8DADF0FBFD6267B144B15DF5DFA573C86C
- 9D28F9F08FC52536E692AD961B125E845B5D86B421F8CC472480262EEC029A9A8A34D1
- B2DFC49FF2B1BCE3E9FF9F2663B7CF044994245770F3E8DFC5846CA7CCE7E1AA4C4116
- 6D3D4B7E60D14895425CE9213837CAC049F0C026F187FF8F1E85B08180F35E39710EE4
- 704E110D85D868D6AB57DC7B52E49688575C7C2D2AFC50112CD98D9CF87D47013EB3D5
- 812331D1A19404D823879FED554736376F54E03FED523D5C36D078FBFBDA35AC6A20F9
- 67FD3CCD10315F803EAFC08D51#)(q #00F04ACEEA544678ED5D95DB20AD8ABE92F409
- A8E7D66E9AB3AC1C38DAFB779266E02CC691F42FE566C5434B773C3F31DD6538993197
- D70DCFCAA5ACC3F7609155D3EFD9B11D659E0D74088A0A7CA82E34CCBCC63D52663883
- 2995D610979F9377B37B0C4B01C17498DF297D25F87E9A99F7E52DEA579441AF93AD5B
- D4F91CEA3D2976C939510B12DD8379E97D8A3C3E21C17B306427B9C4BA73AE47F9E4D8
- F77D040640E6EFFDC008115FC13B272BE31B15AFCCD4FC00A4A23E41A83DA792E577F0
- DCCF1428616F6827AF1A4683482B8062D33DB385C1354A49FE067F2746E0863E6B6FAC
- ECCB32A868097D903CDEC7009187C35B89A2BDFD2696DBA860715FF5#)(u
- #00B7F6B546666EE285F19AF7185C4784CB30658C56E734C5FA79761724A1557FDDC3
- CC4A90445D4E129AF9B6F27026DA18711B742638E917567DBF9BED2380FD0D45A0D672
- 1488AB1B8810812B2E99017681F57ED7C3ED4E1E1CB13B2068EC517E40B511FE75BC88
- 04AB678230B0C1C3A92E785A1BA395948732D6386D1D422C928DE1806B86F54ACE3A80
- 5D0AEE476D13DFE0010BD6233312E481133A96DC6BCD25EDCDB75548C93AC22C1BC911
- 9C2361CB5A030CEE414D23B727A4AF9A05CFB08EE311D6D561F277E351307AB1CC85FA
- 6BDD845738EB6C1E372E18BA8C3198BA078D3B307C29C857057367149B233D20038A11
- 80A60936EDF97E30EE2F4D5386#)))
+++ /dev/null
-Created: 20260302T170556
-Key: (private-key (rsa (n #00E9A0B1AD5A4C1D3D067EE14FF75681AE4F1C09BE8D
- 7934551697F87020527905B106987DD423215F77E203B653D58F8E450698BBA87CE9BA
- 2A861826972804C1233D0373C4C696D61C82A94762D62F800C99FF68BDACFF5D45F0B4
- 3484F6AF8A4EA1342BD2D09BB73EF3AE37C4881E5C1887AF016AC3518D843CB1292A87
- 55CB94ACE360EC2D9B860C51D5A9F83BA91D26CC2A2F232584D27F4A8BFA6035D06EC8
- 253B930748BAA1D388FD63509DB8F7CCDA64B4F396DBABA2B595E3FF694B032631B7CD
- CA0D3114BDCC2520EAE02028FC3E5D7BBF2EAFA6EE2D09D08904D26331736578B229D5
- 8083F25B988F28CAEED44FA46711ED70685AC5F96079DC14BD1AC21537CC5A7A1729C4
- 402FB96739C77FE4C1B1D0D9E9A99168678F744BAF85A3632F06B4263DE55B66A3E60D
- 264E344257A531C7CD4B9247817AF2FBC84ABDEF00C2038CA9DF1B9C4A3472AF58DC02
- 1002E2047806BC69912922DA8C35859D04282DAECBB9623F6DF207E46D54F63246C5DB
- 7DCFEE4BB873E148CB42AF5D7A5F1AC444CAE7469274AD5D5E19740BD8407FCCCBE509
- C7DBAFB3C17C405E51422F78A807CCFDF3E0D2521377C4BC487CB56BF3D95A233B621D
- F4814668E0D71ED6474AC1D752152C9EA47B2157E7C37415F97E855DAD788B5F6D44FF
- 2517140FE037B0147FA9BC1A94F0534EAEEA22D9238DE4AD5189A7ABCC61BF0144DA5D
- A3#)(e #010001#)(d #07B24A882A745D7638338FDAA18C51035C09D16C5C9EC49195
- 07F6A04300548A5275A42A6905AB40C8E3423A0C72F9A2B7356B6CAB354A41DECAC21A
- EB59DF2639B1F5DE277A5F57B862B98EE77BA4DEF40B52B5B1A1F45BAF4529BA9D32BF
- 3FB02D71598C3D6113DD580BC23C903B67CF4B1101DBF1894B3F32FCA71D868DD60214
- DBFCC26B12378D4A58DE9B95E3915948DA8EE8FA8070AACEDAE3A9ADBC2B1A1ED7E295
- 17D9462180DED019C4C86629727C64D5AD7F991CE81C83015407AB97E385699B216A1F
- 83CD28DFF7BCE0725934F8C16DDFECDB73F739DE8BD503D54EB8BD7C076A87650F73B9
- 7EC22096E6DD49AE61D2DE5E98A17CEA253A7E7C945A1F86A6CB7D7C64EB42284A995E
- 594F51A3A142CA240D8558ABC95D7455659D0C3A5A6BF0DCD960ED585B9739DB2C3332
- 141344B707FAE19C2C8498BF0B1F942A723920A69C878F863E11C977383F6DD6984AAA
- DD336525CE758898ADF7695A6F2C0271A46BE1FF511C1A680C40A4B41916B42E46072A
- 18DD78D53F75962816E3F1E1CE5128EE32CB7A517662553FDAE65812C082A41332CB6A
- 245681DACCD7280C25315B871688FD887BCBD9F00905C2491A229194728F0A8D4A8761
- 638D3AD8CB9F94F0D4FAC433293E2EA5F627B7BBBAF07CC0F996E02D99D96AAE4D648F
- DED56D2E099E22E0C951CC12003519FC14048BAC0F4D63EC5D5F1C401E648269#)(p
- #00EA4F2114BF4B90840FCB273263999FBFF30D49627FB5F8825A897AC3139F59B78B
- 869335FE074BC43CF5E7C75F4E31A257DF93AB67DA3B68BCA37F7EF68372D3A661FBF3
- D720419FD301AE4FACAB248227A8C47D97B6D283540A9A666530F1F9D5BA0CC97FD5EE
- C219DA21D510BA4D2D604B18ECE111269D18D7E8B495012AFB6966496EE3DA0AC8F98F
- B11A0D68C24DA486CD386B14A8760CE8332C2694A5172DC3D008B849725B70C5EDF116
- 4EE97F095CC2382827E0B122177C6667390020AAAC528B9363D3680745B4BA70394A46
- 14520BA4F67AD5935880C1CDADC1EA53D4467A600C8645441ED6FE6C2A0474A15A0E2A
- B19D9131E62469C83C48D59C87#)(q #00FF416AAC1AE5E6533B487A02F2CCEDA9C3BF
- 4AF70CFAB7F41620F752A37298A0B2CA271AAAE19D603B935DAA8AEFB37863BCCCC6F6
- 37D8999678DDC74D422938E5174B78AD7403AFFB5E933C25B1141863E3DDD59FE564B7
- AF9EF1029C650EBC2359A92D860BB76890C0CDF8C130E5E0C29345D46067BE102468FA
- 8E19FBC85DFE0838E2980D6D9ED537E27D3943965BFC7E9E838A7D06DE270313DE3F56
- CFA0685AEFC521B20229F3EDEE3B2E7FFDE75801DD20389EBB63A92DA3AF0B9FB415C3
- 712FDFE514D7448A64A9B8590F9F7DFD8AF71F4F8F9DA91E8448CAD09C160528D6C42C
- D36647E44F9CAA29BFB28D7868C9A26F13F62E2ECBB8B0C8B3D9F905#)(u
- #00D4A453B0BCC55A6FC0E7D9682B5569AA22CEFC3A2ACAC2635EAB544365C36B34AA
- 0D142C21BB5234EE20E5BE3E1BB8D3932DD95818277D4DDB683757F60846A2F16965A1
- ED5C1D9EA8210F68EF8552ACD9F3B63ACEB727DB95FA0E001DC924A3F5D9C299432EC3
- 8328B4608583605DA61A046DC9986D3D23FF682313810C94A342BA654D185CC0E06473
- F353152D8BB877E84FBBB754F82F06DD06ACAA3996AE8359D3CD26B95BC43F61ECB428
- 57CEC8CA7E99CAAC884167BC948820C9BB2EF178F1A661B05A58288A2E6E47CE8EDBC5
- 0637D59EB9FD90B5F673B5372D4419F57651FE9BE71A370D30FA822DE2B3C7D9DA5097
- 83A7A6BBDBD7A4CD0891541BBD#)))
+++ /dev/null
-.less-history-file:
+++ /dev/null
-/var/www/ros.vados.ru/.git/config 2;35;35
-/var/www/ros.vados.ru/ros.code-workspace 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.gitconfig 20;0;524
-/var/www/ros.vados.ru/Mikrotiks/backups/.git/config 2;35;35
-/var/www/ros.vados.ru/Mikrotiks/backups/.ssh/id_rsa.pub 2;402;805
-/var/www/ros.vados.ru/Mikrotiks/.repo_.gitconfig.json 15;9;216
-/var/www/ros.vados.ru/Mikrotiks/.ssh/authorized_keys 1;745;745
-/var/www/ros.vados.ru/Mikrotiks/.git/config 2;35;35
-/var/www/ros.vados.ru/Mikrotiks/.bashrc 122;0;3856
-/.data/nfs/repos/Mikrotiks/ros.vados.ru.git/config 3;23;52
-/.data/nfs/repos/Mikrotiks/backups.git/config 1;0;0
-/www/ros.vados.ru/Mikrotiks/.gnupg/gpg-agent.conf 3;0;50
-/www/ros.vados.ru/.git/config 2;35;35
-/var/www/ros.vados.ru/Mikrotiks/gpg_vados-dev.asc 107;0;6687
-/var/www/ros.vados.ru/Mikrotiks/.gnupg/gpg-agent.conf 2;22;40
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh 407;1;10786
-/var/www/ros.vados.ru/Mikrotiks/.bin/test.sh 13;22;257
-/var/www/ros.vados.ru/.git/COMMIT_EDITMSG 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.gitignore 8;10;72
-/var/www/ros.vados.ru/Mikrotiks/.bin/logs/ros-diff.log 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/logs/MikroNUC.log 56;0;3896
-/var/www/ros.vados.ru/Mikrotiks/.bin/bash-progress-indicator/spinner.sh 79;1;1572
-/var/www/ros.vados.ru/Mikrotiks/.bin/logs/MikroYellow.log 467;0;36840
-/var/www/ros.vados.ru/Mikrotiks/.bin/logs/MikroMaster.log 458;0;38628
-/var/www/ros.vados.ru/html/ros-deploy/ROSdeploy 85;0;2797
-/var/www/ros.vados.ru/html/ros-deploy/ros-deploy.sh 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-conf/sync-script.sh 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-conf/setup-ssh-keys.sh 6;21;119
-/var/www/ros.vados.ru/Mikrotiks/backups/.git/hooks/pre-commit.sample 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/backups/.git/hooks/pre-push.sample 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/backups/.gitignore 2;0;5
-/var/www/ros.vados.ru/Mikrotiks/.bak/.git/config 2;35;35
-/var/www/ros.vados.ru/Mikrotiks/.profile 23;0;675
-/var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa.mikro_bak.amster-nuc.pub 1;395;395
-/var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa.pub 1;397;397
-/var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa.mikro_bak.pub 1;384;384
-/var/www/ros.vados.ru/Mikrotiks/.ssh/known_hosts 5;0;2002
-/var/www/ros.vados.ru/Mikrotiks/.ssh/id_rsa 28;0;1831
-/var/www/ros.vados.ru/Mikrotiks/.ssh/git@amster-nuc_rsa 50;0;3381
-/var/www/ros.vados.ru/Mikrotiks/.ssh/git@amster-nuc_rsa.pub 2;0;740
-/var/www/ros.vados.ru/Mikrotiks/oxidized/run.sh 13;34;371
-/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260222/20260222002006-Config.rsc 160;18;7841
-/tmp/crontab.JDTt67 2;0;62
-/var/www/ros.vados.ru/Mikrotiks/.bin/get_backups.diff 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.config/.mikrotiks 4;0;141
-/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/history/20260220021857/ConfExportDiff.rsc 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/scripts/mktmpfs.rsc 2;18;33
-/var/www/ros.vados.ru/html/AM-GlobalFunc.rsc 1023;6;39628
-/var/www/ros.vados.ru/html/routeros-mkdir/create_mkdir_function.rsc 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-deploy/README.md 167;0;6781
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-deploy/ros-deploy.sh 65;0;1923
-/var/www/ros.vados.ru/Mikrotiks/.bin/ros-deploy.sh 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.mikrotiks 1;20;20
-/var/www/ros.vados.ru/Mikrotiks/backups/tmp/log.txt 1;0;0
-/var/www/ros.vados.ru/html/routeros-config/setup-ssh-keys.sh 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/log.txt 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/MikroNUC-config-export-current.rsc 2;0;42
-/var/www/ros.vados.ru/Mikrotiks/.bin/tmp/log.txt 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/MikroMaster-config-export-current.rsc 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bin/get_backups.sh 64;40;2017
-/var/www/ros.vados.ru/Mikrotiks/backups/10.30.30.81/18-02-2026.log.txt 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/backups/10.30.30.10/18-02-2026.log.txt 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.ssh/mikro_bak_rsa@10.30.30.81.pub 1;402;402
-/var/www/ros.vados.ru/Mikrotiks/.ssh/@10.30.30.81.pub 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.ssh/mikro_bak_rsa.pub 1;745;745
-/home/vados/.gitconfig 1;0;0
-/home/vados/.bashrc 97;0;2958
-/home/runner/.ssh/authorized_keys 1;742;742
-/home/Mikrotiks/.ssh/mikro_bak_rsa.pub 1;397;397
-/var/www/ros.vados.ru/Mikrotiks/.ssh/MikroNUC_rsa_pub.pem 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.ssh/MikroNUC_rsa.pem 1;0;0
-/var/www/ros.vados.ru/Mikrotiks/.bash_history 1;0;0
+++ /dev/null
-[input-def]
-0=*
-
-[input-1]
-0=/var/www/ros.vados.ru/Mikrotiks/.bin/logs
-
-[input-2]
-0=/var/log/Mikrotiks
-
-[inpmc.fm.mkdir]
-0=10.30.30.81
-1=tmp
-2=scripts
-3=.bak
-4=oxidized
-5=.ssh
-6=test
-
-[name]
-0=
-
-[ignoredirs]
-0=
-
-[start]
-0=
-1=.
-
-[mc.shared.search]
-0=set MkD
-1=carkee
-2=vers
-3=version
-4=version=
-5=GIT_PROTOCOL
-
-[save-as]
-0=/var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh
-
-[cmdline]
-0=chmod +x get_backups.sh
-1=git clone https://github.com/tarikin/ros-deploy.git
-2=vigr
-3=passwd mikro_bak
-4=git config --global amster-dev
-5=git config --global init.defaultBranch main
-6=git config core.repositoryformatversion 0
-7=git config core.filemode true
-8=ls -la .
-9=ping vados-nuc
-10=git remote add origin git@vados-nuc:/d/.bak/Mikrotiks/ba
-11=git add .
-12=git fetch origin
-13=cd ~
-14=main.sh spinner 1
-15=1
-16=`
-17=git init
-18=cat config
-19=
-
-[input2]
-0=/var/www/ros.vados.ru/Mikrotiks/.bin/ros-conf/
-1=/var/www/ros.vados.ru/Mikrotiks/.ssh/
-2=/var/www/ros.vados.ru/Mikrotiks/.ssh/10.30.30.81
-3=id_rsa
-4=id_rsa.pub
-5=/var/www/ros.vados.ru/Mikrotiks/.bin/
-6=/var/www/ros.vados.ru/Mikrotiks/.bin/scripts/
-7=mktmpfs.rsc
-8=ROSdeploy
-9=/var/www/ros.vados.ru/Mikrotiks/.bin/ros-deploy/
-10=ros-diff.sh
-11=/var/www/ros.vados.ru/Mikrotiks/.bak
-12=mikro_bak_rsa@10.30.30.86.pub
-13=/var/www/ros.vados.ru/Mikrotiks/.config/
-14=git@amster-nuc_rsa
-15=git@amster-nuc_rsa.pub
-16=id_rsa.mikro_bak
-17=id_rsa.mikro_bak.pub
-18=id_rsa.mikro_bak.amster-nuc.pub
-19=id_rsa.mikro_bak.amster-nuc
-20=/var/www/ros.vados.ru/Mikrotiks/backups/.ssh
-21=/var/www/ros.vados.ru/Mikrotiks/.ssh
-22=/www/ros.vados.ru/Mikrotiks/.bak/
-23=test.sh
-24=/var/www/ros.vados.ru/Mikrotiks/
-25=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/
-26=/var/www/ros.vados.ru/
-27=Mikrotiks.git
-
-[Dir Hist New Right Panel]
-0=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260220021857
-1=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster\r/20260220023629
-2=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster\r/history/20260220023629
-3=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster\r/history
-4=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster\r/tmp
-5=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster\r
-6=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/20260220035103
-7=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/history/20260220035103
-8=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260220035049
-9=/var/www/ros.vados.ru/Mikrotiks/backups/history
-10=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/history/20260220
-11=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/history
-12=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260220
-13=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/20260220
-14=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/history/20260220
-15=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/history
-16=/var/www/ros.vados.ru/html/.bak
-17=/var/www/ros.vados.ru/Mikrotiks/.config
-18=/var/www/ros.vados.ru/Mikrotiks/.bin
-19=/var/www/ros.vados.ru/Mikrotiks/.ssh
-20=/opt/docker/carkeeperbot
-21=/opt/docker/oxidized
-22=/opt/docker
-23=/opt
-24=/www/ros.vados.ru/Mikrotiks/.bak
-25=/www/ros.vados.ru/Mikrotiks
-26=/var/www/ros.vados.ru/html/ros-deploy
-27=/var/www/ros.vados.ru/html
-28=/var/log
-29=/var/www/ros.vados.ru/.vscode
-30=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/20260228
-31=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/history/20260228
-32=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/history
-33=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/tmp
-34=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster/tmp
-35=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster
-36=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260228
-37=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow
-38=/var/www/ros.vados.ru/Mikrotiks/backups
-39=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/tmp
-40=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC
-41=/www/ros.vados.ru
-42=/www
-43=/var/www
-44=/var
-45=/
-46=/.data
-47=/.data/nfs
-48=/.data/nfs/repos
-49=/.data/nfs/repos/Mikrotiks/Mikrotiks.git
-50=/.data/nfs/repos/Mikrotiks
-51=/.data/nfs/repos/Mikrotiks/backups.git
-52=/var/www/ros.vados.ru/Mikrotiks/.bak
-53=/var/www/ros.vados.ru/Mikrotiks
-54=/var/www/ros.vados.ru
-55=/var/www/ros.vados.ru/.bak
-56=/var/www/ros.vados.ru/.bak/origs/ros-deploy
-57=/var/www/ros.vados.ru/.bak/origs
-58=/var/www/ros.vados.ru/.bak/origs/routeros-scripts
-59=/var/www/ros.vados.ru/.bak/origs/routeros-scripts/contrib
-
-[Dir Hist New Left Panel]
-0=/var/www/ros.vados.ru/Mikrotiks/.ssh/10.30.30.81
-1=/var/www/ros.vados.ru/Mikrotiks/.bin/tmp
-2=/var/www/ros.vados.ru/Mikrotiks/.bin/ros-deploy
-3=/var/www/ros.vados.ru/Mikrotiks/.bin/v1.2.1.tar.gz/utar://ros-deploy-1.2.1
-4=/var/www/ros.vados.ru/Mikrotiks/.bin/v1.2.1.tar.gz/utar://
-5=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/20260220035049
-6=/var/www/ros.vados.ru/Mikrotiks/.bak
-7=/var/www/ros.vados.ru/Mikrotiks/oxidized/oxidized-config
-8=/var/www/ros.vados.ru/Mikrotiks/oxidized/config
-9=/var/www/ros.vados.ru/Mikrotiks/oxidized
-10=/var/www/ros.vados.ru/Mikrotiks/backups/MikroMaster
-11=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/history/20260220
-12=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/history
-13=/var/www/ros.vados.ru/Mikrotiks/test/backup_configs/MikroMaster/20260224
-14=/var/www/ros.vados.ru/Mikrotiks/test/backup_configs/MikroMaster/20260221
-15=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/20260220
-16=/var/www/ros.vados.ru/Mikrotiks/test/backup_configs/MikroMaster/20260220
-17=/var/www/ros.vados.ru/Mikrotiks/test/backup_configs/MikroMaster
-18=/var/www/ros.vados.ru/Mikrotiks/test/backup_configs
-19=/var/www/ros.vados.ru/Mikrotiks/test/backups/MikroMaster/20260220
-20=/var/www/ros.vados.ru/Mikrotiks/test/backups/MikroMaster/20260221
-21=/var/www/ros.vados.ru/Mikrotiks/test/backups/MikroMaster/20260224
-22=/var/www/ros.vados.ru/Mikrotiks/test/backups/MikroMaster/history
-23=/var/www/ros.vados.ru/Mikrotiks/test/backups/MikroMaster
-24=/var/www/ros.vados.ru/Mikrotiks/test/backups
-25=/var/www/ros.vados.ru/Mikrotiks/.config
-26=/var/www/ros.vados.ru/Mikrotiks/.local/share
-27=/var/www/ros.vados.ru/Mikrotiks/.local
-28=/var/www/ros.vados.ru/Mikrotiks/.cache
-29=/var/www/ros.vados.ru/Mikrotiks/.bin/ros-conf
-30=/var/www/ros.vados.ru/html/ros-deploy
-31=/var/www/ros.vados.ru/html
-32=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow/tmp
-33=/var/www/ros.vados.ru/Mikrotiks/backups/MikroYellow
-34=/var/www/ros.vados.ru/Mikrotiks/.bin/scripts
-35=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC/tmp
-36=/var/www/ros.vados.ru/Mikrotiks/backups/MikroNUC
-37=/var/www/ros.vados.ru/Mikrotiks/.bin/logs
-38=/var/www/ros.vados.ru/Mikrotiks/.bin/bash-progress-indicator
-39=/var/www/ros.vados.ru/Mikrotiks/upload
-40=/var/www/ros.vados.ru/Mikrotiks/test
-41=/var/www
-42=/www/ros.vados.ru/.git
-43=/www/ros.vados.ru/Mikrotiks
-44=/www/ros.vados.ru/Mikrotiks/.gnupg
-45=/www/ros.vados.ru
-46=/var/www/ros.vados.ru/Mikrotiks/.gnupg/private-keys-v1.d
-47=/var/www/ros.vados.ru/Mikrotiks/.gnupg
-48=/var/www/ros.vados.ru/Mikrotiks/backups/.ssh
-49=/var/www/ros.vados.ru/Mikrotiks/backups/.git/hooks
-50=/var/www/ros.vados.ru/Mikrotiks/.ssh
-51=/var/www/ros.vados.ru/Mikrotiks/backups/.git
-52=/var/www/ros.vados.ru/Mikrotiks/backups
-53=/var/www/ros.vados.ru/Mikrotiks/.git
-54=/var/www/ros.vados.ru
-55=/var/www/ros.vados.ru/.git
-56=/var/www/ros.vados.ru/Mikrotiks/.bin
-57=/var/www/ros.vados.ru/Mikrotiks
+++ /dev/null
-# ~/.profile: executed by the command interpreter for login shells.
-# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
-# exists.
-# see /usr/share/doc/bash/examples/startup-files for examples.
-# the files are located in the bash-doc package.
-
-# the default umask is set in /etc/profile; for setting the umask
-# for ssh logins, install and configure the libpam-umask package.
-#umask 022
-
-# if running bash
-if [ -n "$BASH_VERSION" ]; then
- # include .bashrc if it exists
- if [ -f "$HOME/.bashrc" ]; then
- . "$HOME/.bashrc"
- fi
-fi
-
-# set PATH so it includes user's private bin if it exists
-if [ -d "$HOME/bin" ] ; then
- PATH="$HOME/bin:$PATH"
-fi
-
-if [ -d "$HOME/.bin" ] ; then
- PATH="$HOME/.bin:$PATH"
-fi
-
-# set PATH so it includes user's private bin if it exists
-if [ -d "$HOME/.local/bin" ] ; then
- PATH="$HOME/.local/bin:$PATH"
-fi
+++ /dev/null
-{
- "user.name": [
- "vados-dev"
- ],
- "user.email": [
- "vados@vados.ru"
- ],
- "color.ui": [
- "auto"
- ],
- "safe.directory": [
- "/var/www/ros.vados.ru/Mikrotiks"
- ],
- "init.defaultbranch": [
- "main"
- ],
- "core.autocrlf": [
- "false"
- ]
-}
\ No newline at end of file
+++ /dev/null
-# Generated by /usr/bin/select-editor
-SELECTED_EDITOR="/usr/bin/mcedit"
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtYPqhMLWEhFjiZKUCWBVxoEtNRkZvCMjfJ+F2jqJl2SVVCay92wuItwjibkmVVlXMdokemr8oBTqvlL+tXghJbOselR00HPyvwdeMVE+EGxtOXGwSHDTYSaYDl7OkKhURnJ4N+cLrxuuljXT26L9btpayJzsyqy8i6hNbcgg0rLAcgFwrDW05cUgWOTtSD8OIzE0BRGCFNTYuEz6cI6e+XeqZa0RILhbEYjznRo5OYx7xyCYI2cYJm8PKpLSXWjZGHsej1e1wqBaxSoAUO4ja7AE1Dg3oIZ8ac9NeNk0Zgn9CLPZNb9qRYBgf1eTkpg+ll0IDUkzFY6LA7vA2WfiGPZkguurFczr1K9f1RtfWc2QDVvyXytnMzAHaGBC/zUpxvJBcL1vHzRwBREWUfcBNSP44QMkJ10adPupDmATZAVkaoqKEyIi2opN+obBUL1tRd8PlKV1B2mw5brqpZQuxAhbSTRVAnc5fOQjs6r/8q4pXRN7JRSgjwk/+7gLmQE0S7hJ82PkW1mLzdMxHbNqFouvFh6vTIGC0szuP8p3F6IChDPEy9p3FfffF6B4jqLHJXiANzszwG2aReLl6mivRmO6ZcyuahmekdqytzjihgtmYBO8wqU/kGvU38xtbI6OTKBXom2kGnEoNd4PlBNVXlsn1al2jyKzPKGI3xlA9FQ== mikro_bak@amster-nuc
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7lpAKxEKB3RexZlN1TNRnGOVmZi0fhM8DUiW+mKdcDtGBmAOHTHOuhFCofpDXyGLbeOT3FOTumPNbM3RLssY3t/GDxxaJUfQhbUbQJgEwHmlP2ianJ4hSqtoJhnu3jCn7y8LnEhd0I1nCYF4D/XUTodmglKR/FJujCRoqbYLuqNPozwUxMgCTb+OYpmaEhILE9hXD6qM06CMnOFtE2Xg+CaRRmsv7nuu8Z8kMp/239lUj9AnTgNMoI73wxL2HR4M+WzrCiiTRWExJWyIH+WTjrY40iQY6vYD+BKXN6B9bl03MxwdhlYYspItX/u2b80/V7oy0lpe4uC/ZdkWrpXdPaGFCdOehfn//jnPryguSF8aXBRsHVCOl0QB/yb84+JbS494Kkkr7g4S16qtxQ6JP52tMc+7SLEufZ67pdKyz9JpQLJyMpKTJtK0y9wMaqQoIn0/9Yb+W3XnAepr5zhxercdEw6dpFgJdKlnsqINDlJ3VU+b07uk1nt/fuIksS3v8gZkFvE8OV5lgTD6/gOPGGwBD73SyY/sVVwHEoMr3B+647nilfiiC/VOTfzk5VOv6R2apbYZCN2phI6YQvk6bhQGDrl61Lne2mXioCLbDW0rTRabdQrPOQTml+hM3WIudyvt7nKajQcaUnwIw3yBFNc77cGuHLrxjiaaZARntlw== git@github.com:vados-dev
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.81
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.10
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.86
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
-NhAAAAAwEAAQAAAQEAnIni4nbYvV0pDg9xJGcooCPhhiwYXvGwYT7lyNGn8sZ7moGzM972
-N7c8jGkO4hIvTRoFBNgZz2saf9OA0Pf33I8JQnrmFKtCpO2T+F7VUrGLgzw3Mf6XC2iFLp
-vxum2aQwPR5quQd8zw224KtLowiAALrFfIwKoFcOy2STPTXo6bzC3d1QMOh68ECKbSMqfu
-cPuoUHdlXDlY3HaaxUJ2Xi0tA832O+ee2yi6JsV53G8jVXfDagd2E9fpvj+ft0skHtCvBS
-p8IiFr4ei/AqS9X+NA5HvwTqCoOTf9Szu5KWT9u8lRu4Kilvnff2hNMRmvri1CnEh8hKrS
-Cfg/6AIPHwAAA9B2kgn4dpIJ+AAAAAdzc2gtcnNhAAABAQCcieLidti9XSkOD3EkZyigI+
-GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYU
-q0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7L
-ZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXnc
-byNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yV
-G7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8fAAAAAwEAAQAAAQA4aum+vR64gQ7+5knc
-2OEndkcd2F6gOXNcWRLwIb/qG+cIdJ5ln4IV6pCD+olGqU8q9qnAaTJEM1HFqDDRH83RTC
-wGLc0mveKzFn0yEtvHhf3GOrmZ5ywBDJaTidjBXCcw5/uKq2LSCqb0LuDk6gX7vih24NyV
-s7FqVaYNFASmGyc/hFObYC9wyJ/Shntb5ofI6tNpZDFTZCjct9XccdSYAjCz8YNVVCzy3i
-s7TKhSGeLR6cLNFDh55/XS4otvG4ZPTd1RfEHf54buwqu4TMghoDWVmSHgtsSmgNWsQaU3
-WGNw+BxKqV8IPdjCBFXd7XN8XknuJtGzGMUn95BrWpGhAAAAgCSXDG+5lQqmKXUlLG25OR
-Y3QVrN0it8moXO/3v1kf3gsRj0JMqobJI7h5t81+XCdk4ZFiXTIombHR1JlYVRCJOtvwxV
-ZDl+0wXJP9fgxOKdijKnCkU0lcPDOF2QOXGawNRddl+rCDM5XmhSdGPLlcxs6ulMTcRy4j
-dqEOON6UfOAAAAgQDTfbnTGZMsE3VU9DwEDnEHPHehdyhHh2e2DB26+xGo+9o9HhGOyxVZ
-P6E1NbLOgqc9KfWNJJD7YX9VVgwdQySoZNXDmXVfo4R3oJeSvU12iaghhQldbs12Dlv5L7
-nk8J0XnfXNMZ2YpSsoSRTjwnGzzlEHzZRZwJ/riEAXWbEDwwAAAIEAvXuLjH2/c0lC/41k
-BZByV/j2sS5JD52zdaFjYYrmAcctKzmDcilWYy9JSOzTVae0rwbpjtqx2y12zLw3K2H/JY
-2gyCNruLGq+EMe20FNu/6AlS/cGc/+fay6rPS2qRMiCwnjgFjB8qV/G8r4wwTAgaRygo1R
-rrtukQGlgyz03XUAAAAVbWlrcm9fYmFrQDEwLjMwLjMwLjgxAQIDBAUG
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
-NhAAAAAwEAAQAAAQEAssaL3TkpCKyHvHcy3D4O/0dTNx2AC7zo//qVV0wR1DZ3Na15EU/u
-hAl1RxuXjTROze4a2AfOH7dDIaS6CEIGUEPWbWb6Y35ONXhYGBFDE670Q/JhxwRJxPdh3L
-ar1lpGq/uSYV5T5/nAlFJqZeD7YumxI8wM7gD+lv2FmN+Trst/cNi8iXFfsE5t2CR2ayl1
-ZdILdzG/DkRlwSjH1cHTViGh7Ep6nfGDESsmh7xhiynimVzTEae29R6igERx98tVAh+D1R
-b+X4VMU4sAbrVGL9YV8eMFaXSv9gzYhU92DNRrBkKo9Ji3oSr3bBRTwNCmFUH8IYXMTi6s
-oAKglWtXZwAAA8itSy5trUsubQAAAAdzc2gtcnNhAAABAQCyxovdOSkIrIe8dzLcPg7/R1
-M3HYALvOj/+pVXTBHUNnc1rXkRT+6ECXVHG5eNNE7N7hrYB84ft0MhpLoIQgZQQ9ZtZvpj
-fk41eFgYEUMTrvRD8mHHBEnE92HctqvWWkar+5JhXlPn+cCUUmpl4Pti6bEjzAzuAP6W/Y
-WY35Ouy39w2LyJcV+wTm3YJHZrKXVl0gt3Mb8ORGXBKMfVwdNWIaHsSnqd8YMRKyaHvGGL
-KeKZXNMRp7b1HqKARHH3y1UCH4PVFv5fhUxTiwButUYv1hXx4wVpdK/2DNiFT3YM1GsGQq
-j0mLehKvdsFFPA0KYVQfwhhcxOLqygAqCVa1dnAAAAAwEAAQAAAQAS/y4Vj+FgXpT93dy1
-spJ9ZeLd1HCqzqQjr0j3QcoTNsZsGcbnpArAVRD1QWVVR92n3ElV815f2GV1yb9K6VkqZk
-r+zRaGRAGjhOo3hH4QNWMXZUYmk7oTCAaKIY8Y8/bWh6ECX7eiytM/75IGyWVtGVANcb1d
-/RUQjlgH6poS1Ld6Va2MemVgS60tZKIPOyLa4B93HlzRE7FXb0m1A1yohaXmi3ZGqjhnil
-Fu7MPR8IsLiHYEgLUvKMzFW2U6qRiLPZFoqE/YzvPchK5F4Bv60Cr0UbISeU2mXemkGxI/
-FEvODMV74vkJZJpY1SJ/qLe9uI04M+MLnjfFI6Db4HnBAAAAgEoHpbq4+vvO5oCBQvm1ek
-Hnb3K2xQ7c3b3fontYv+YN4wDaw0KYjWPFSjqJSjTcs3UR0HfZCfDjWoDGxJIz4S93EHgs
-jnnclUc6XjUhc9toYVyYhrt93kTkbLy2CrBUSujfrh0y73oq63v/jB/YF//hVXaCI2Bmca
-MTxt+QxJ8lAAAAgQDYAnFm8bzOWwIR/9NhRyZS+6KfsO5xXNs4toHCoQHHhcmW3cT0OIU3
-WmkDtIMKASZxAVPfsMze/kvfND8A/4zhTeerkt0wC3/clxE0LobMJ/z4zVWaWvnooTVIQ6
-jMZR6IZ5niXQxU1BU7P4mHH5F7oyvKpsKugzhxgCkwuZI1KQAAAIEA099vuFNVN2RCAv4K
-On6LzoblX3NpPiCOSeTW6f4C44dTivniuCpLPttFjkRdj3Zxirw5tixoYgqZ3Db89v8Rx8
-yyTouu+tc6DYgb4etAM1fVX3DX4WtJOJDZ6ndLjqraGTutytT+wCjHXwsuxpJsn7IKBxqO
-WyCkDpgm2sbFqg8AAAAQbWlrcm9fYmFrQGFtc3RlcgECAw==
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
-NhAAAAAwEAAQAAAQEAjNqkHXDEE1ixdxV6Xac9G+NqWDtgH3tYam2TwYvqIMCaEy3Vx4Ft
-q8EBu292RUZoruqkdb2A5CTmvZse19dUDBSy0eTuznIdi8en2V30QVHMCDs4Hrz/6300Ji
-lnGszmLzcSdLGE4i8wBkrk5cm4hlaetQyWJ7b444CGWkZE62uxHTOR5ItKJr/BaVHbi5BK
-dk/ZCiHOLNL6aJlSuzcekINXq6gGShutWiu26LFA+DsBj+T0SGv1+vz8RK714Iqa/vkbeb
-bSCWTxmEy3WGlN7TJUR7W/RYZidqby2wMaDsfD4nlpKHt+b+5OxclvIz5eA1+qKcmLg86m
-4p/LmjZkwwAAA8gFbfDUBW3w1AAAAAdzc2gtcnNhAAABAQCM2qQdcMQTWLF3FXpdpz0b42
-pYO2Afe1hqbZPBi+ogwJoTLdXHgW2rwQG7b3ZFRmiu6qR1vYDkJOa9mx7X11QMFLLR5O7O
-ch2Lx6fZXfRBUcwIOzgevP/rfTQmKWcazOYvNxJ0sYTiLzAGSuTlybiGVp61DJYntvjjgI
-ZaRkTra7EdM5Hki0omv8FpUduLkEp2T9kKIc4s0vpomVK7Nx6Qg1erqAZKG61aK7bosUD4
-OwGP5PRIa/X6/PxErvXgipr++Rt5ttIJZPGYTLdYaU3tMlRHtb9FhmJ2pvLbAxoOx8PieW
-koe35v7k7FyW8jPl4DX6opyYuDzqbin8uaNmTDAAAAAwEAAQAAAP8O2wB0GnCTmccdyCYf
-uoO3bUTKCXkZ2Oh6URREVX1b9vRJEYx6fiwS8Ug9fIP8ynBAAn9V66asaTfsx295VDyJCa
-XSfVKyc1aqZ2RMiJw6R2Y9eAFzPHvBWnMlkzhMm0+rqyNHK3HYaSGniD6b/ap4gKo8bhdo
-GOQnGmcRHlgmfA0iE0nAa2GbLRDCiGJf4nAY9pY5nVkKhiBPA2aRrDySB/9unqJrD0s0Vg
-Uvdonz/y9l06s0sjW88JrDOES6rFkdRO3q9tINQ1eWphiX3RTuY2P6zbbHaZ/ZJq4Mo2Lk
-OAJb/nKTA8sHK2Uz4UqWqgfYh0Iocp9GTkkIgvqZ0JkAAACAKMzcmjHcBTZWytRhwgTMyJ
-oTd55DoWbMiOQSbMbQ7zm39Hf5SN5B3Cyo8P5g3XEx/mqCouh3Gfp+ok3Lkn2vQEZ8rK3q
-Rmge18T0KPQ2U9DFVSLurSOKV5+TrhcaQc/NvPAMpJONwF3HPESejSEH1Esu6hFp5LyrLe
-yoBVKAnmEAAACBAMGD0RR8GGsiQ0u+5leUm1WOCzunT/+TcrYia7Qc7Xan6uNdTMYJjPQE
-TEkNQALsg3AfkUM83EiWOz40oERFL4JZRZHiI8K2G4CEunJaUt3mm/QpmxwstVdYuMVtzn
-SadKMhfuKOz9SJvbBz69phx+ZT7zsqc+O3Xv27rxekmRbfAAAAgQC6VdBGKNnoQZKJPHOh
-Sb3YohgzTfJNH1Uy5gpzK9A9Tlotit9cVmuHbFiO1twnIxUScDadxbskiUM8JK+VpWPYSo
-O3OcTyuspye/QTSlJofWPq2eSnDiKNYm3pJ9GzZRsuPDU+16guO+DAt40LknoUCPQvmdL/
-w6M9pB/+vq5inQAAAA5naXRAYW1zdGVyLW51YwECAwQFBg==
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCM2qQdcMQTWLF3FXpdpz0b42pYO2Afe1hqbZPBi+ogwJoTLdXHgW2rwQG7b3ZFRmiu6qR1vYDkJOa9mx7X11QMFLLR5O7Och2Lx6fZXfRBUcwIOzgevP/rfTQmKWcazOYvNxJ0sYTiLzAGSuTlybiGVp61DJYntvjjgIZaRkTra7EdM5Hki0omv8FpUduLkEp2T9kKIc4s0vpomVK7Nx6Qg1erqAZKG61aK7bosUD4OwGP5PRIa/X6/PxErvXgipr++Rt5ttIJZPGYTLdYaU3tMlRHtb9FhmJ2pvLbAxoOx8PieWkoe35v7k7FyW8jPl4DX6opyYuDzqbin8uaNmTD git@amster-nuc
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyxovdOSkIrIe8dzLcPg7/R1M3HYALvOj/+pVXTBHUNnc1rXkRT+6ECXVHG5eNNE7N7hrYB84ft0MhpLoIQgZQQ9ZtZvpjfk41eFgYEUMTrvRD8mHHBEnE92HctqvWWkar+5JhXlPn+cCUUmpl4Pti6bEjzAzuAP6W/YWY35Ouy39w2LyJcV+wTm3YJHZrKXVl0gt3Mb8ORGXBKMfVwdNWIaHsSnqd8YMRKyaHvGGLKeKZXNMRp7b1HqKARHH3y1UCH4PVFv5fhUxTiwButUYv1hXx4wVpdK/2DNiFT3YM1GsGQqj0mLehKvdsFFPA0KYVQfwhhcxOLqygAqCVa1dn git@amster-nuc
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.81
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.10
+++ /dev/null
-[10.30.30.10]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHv+zKADwFHB8DebzFchw4/RkJQRAjDWS7k1DdzCYzLfLsWqXdSc24HDBSLtdlEl9pPY7VevZm+VH1vHU06Ws1MWMC1oNr3UotAeb3qckUGLEvNqsDO5JOVVbHZVkbnwqnSfBIgAPGUNTHOImqV48D/Hi7Oey10e/KvoEKIS+RSaAZ4OkI3IiSG/9fnwVPYrvdjNAkgFUumNFvN8q512MV5W1RZ5ajsZwuBucxf5Bhny/c5pNHCKHrnQdCnn7RKyhZHPRJaPNmFhO3/A5j/LBDt04FGF9LG+gCBCNkUnQpAUiDzxgyvY+wJetXahUCyJ9hLoGTGM4AyxsHfrhJkMs9
-[10.30.30.81]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAABAwAAAQEAv5SiOH3f0f9Ezf8aEfd27McFdJud+JYOJN8LRMmoxAM3SKJ1LI87ZqKNjjW6Fmy2Gs/CqLlh/QEfqQxs7xVfg6XuP2E8J/Oi3o4fgJIWGdwZhlSj4XUvDy47l70a+/j5mYvImseOK+wG+XuSkWqHzUWGMmnlqR8J08s7XygdDDWclj/voimaNlcku3mr8dF4I3xMhUuCkQPZDGZcmChhn/TMlpr9HPFjHf13qt+7xEtNL2UMswCQSfX8W4RPm23x+/Fz8ows7okIANoFkPuPYD/ZjZLWcffnXzWe5C4g+7tA7PUIBxShDN6zs1TUxkAwOgGnjVITqpfZnWPaJPXjRw==ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.81
-[10.30.30.81]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQLNHp4kRmUeWA6+o72gnfGHkFKDx1G4Ix4bjeR0etZZqFWNbqtSwrcrltOKKBbLiu7vGf8MDnpGBoT7mDh3MIhxDLDeCxO2oqXTYu43oRA6LoKA4FbtBB1xVo1hp5jx6Xldsnx0RWbOTUl9NtvCqKjzYdenTDSSVrHegiM/H3G2IqJsjcXcGWZ/lDzahdhIfa19+GJH1VxlSi1z0A/m/r5gy5+FonRaI1v0zhHlicQJpSiLTFYpa6sdpbQ8/zXs4zKLargOFejcmeqW6ddO/7LGt6xmi9de+XeEWQMHkANihPeyxTtHyp4gfVCS01f4fLOG081t5FtWBv3lpAfuOb
-[10.30.30.86]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtvYZKuBJmgUPLMCB9cVmk9fbxLMs31nsif6IkUzvKU5eYNnCjq/wk7LN698gVc7A+ZjugkiTKi4g9zdnhpksCRZa8QHrYVbAyb4ESE9Qw97fZxW+Ty7Q4egndTVpcOfj8P5rR/zPmyKHwKxmZt2PZauZuYYNaYE2wsKSB1IHxY9zEHr2sDxI8HDzAVlGHuEnJ/ME6/UMJPyS5aiVCYuWP8AZg8ZzzVxLcLXElMsZeb9eQwjaeqmHWebGQZEW3UDgjJPYahW3ZOISb0xuyZsjMHWjk/ce2H6uUMuywFAdlErtqbM/7Pf3Vr2Erjben9fsp0jtE0g5D7fBOTyPvhMyB
-amster-nuc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF0GwfNXmbVuoZxS88cgks+DuWkkb4pf6q0bdjl3qo5T
-amster-nuc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDh9NAYI11XI05LoIbj1LWWwoZzxvgnfPN1YuJrkg0gBOUgIH6lt9Z6PHY7pUlNeZrdTKIk+WQ77vGOV34DzR/Y6BX/xyx0KiVCZHAzUEvp0YTY71rAFnkqvdmILyKXeLOw0fcp0tcxGbmoWzvs9WZg9TmBGUUajrP77dRSsV41aIFofXppE1icXzLuQjFBbq+PoEdNddAgOLBclm1r/ZTtn6zW4vebqzIRZrjD9NKa2u9AjqO4SXQNDynJ9zIj1zynuFjGnMFvi8lk7PG/lpOwQAgQZaGRtiDJ0nJpkEqpxhfr/egDLTO47kK4mndgSbycpbeExEjFQhpxW2gyTRXnlvf49zQu/zV/ZloSVpn10vyMu/PWfI7KXt9TmdTlZXsSdwgWLJ+imJdPmaisoXoyDeKO0rhbrVo4iDCEJ9OY584sb8iWO58onjPCqB3AeyLe6bshUIXAevPjHe3mlb/yIO4EA6b9RfMdCTluhhwXcd/Bl5q0RE5BNkAPad0ptLk=
-amster-nuc ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCjHiiX40OvEKvWBGi6JYzA50Tx5yyWH8OPaKITHEfU9UNHWKJgiqv6It08XkSoRZw3JXlo7D/saZL4VmY/qD48=
-vados-nuc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJeE4qzjC7hUP1xPVx9yiG9L5s0K2eEPtdvSt95F0JBY
-vados-nuc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDklJ/a8NtZU7ipBBjDc2gT7piwYTgk5f2v6WVl+ewMiW5kWYAHRlojkGkG5z4wHjmo82Vrm2X1jsCE8natblnqbGBxGpAZKiT6VNdjYeKzGLbZ/HFjsd5U1SAUuYjyy1Ub85h9M7DCXAwQyRwW6w3PBr+wWPJ3YNteDRcFYXcOKe65bP6wfZRSlh1FeYglHDDmEyHjThfzFCmoC8ukCHbOkrT67RtmxMjNGF6ED/vtGHVcYaRQ1cCxI1ZS36WFoV8pPhyj/0GXcDSTz0wDChlg1UbC2qxT99m4hB/d7+LYJf4Vr004oJ2MpwmuqMfTP/fDRr2Pj0WWySGLzg1ORxBRlgAL+9GGtbji+PHjZDvRcErUS1YnudiMn1IiE3LrxgnEyy44QONgWF13pmopIBXMWvy+jD+5QEdH8aTvcZ0/YGDdm3FNBE0vlFl0k77dQSM4rVHE2GnBkPejkWJG0m7LfizrRNW+L7k9cPCaqr0vev/4UHDOHExIiYWH9dpeTQM=
-vados-nuc ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBbH8mXlPOosJ8XetIkAsIBKA9V+KPVP6Okvpl1EEMAo7A6MWxSCRo80JafAoGqDmPuWGMgQYjW9DlNpk+IKRss=
-10.30.30.95 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJeE4qzjC7hUP1xPVx9yiG9L5s0K2eEPtdvSt95F0JBY
+++ /dev/null
-[10.30.30.10]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHv+zKADwFHB8DebzFchw4/RkJQRAjDWS7k1DdzCYzLfLsWqXdSc24HDBSLtdlEl9pPY7VevZm+VH1vHU06Ws1MWMC1oNr3UotAeb3qckUGLEvNqsDO5JOVVbHZVkbnwqnSfBIgAPGUNTHOImqV48D/Hi7Oey10e/KvoEKIS+RSaAZ4OkI3IiSG/9fnwVPYrvdjNAkgFUumNFvN8q512MV5W1RZ5ajsZwuBucxf5Bhny/c5pNHCKHrnQdCnn7RKyhZHPRJaPNmFhO3/A5j/LBDt04FGF9LG+gCBCNkUnQpAUiDzxgyvY+wJetXahUCyJ9hLoGTGM4AyxsHfrhJkMs9
-[10.30.30.81]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAABAwAAAQEAv5SiOH3f0f9Ezf8aEfd27McFdJud+JYOJN8LRMmoxAM3SKJ1LI87ZqKNjjW6Fmy2Gs/CqLlh/QEfqQxs7xVfg6XuP2E8J/Oi3o4fgJIWGdwZhlSj4XUvDy47l70a+/j5mYvImseOK+wG+XuSkWqHzUWGMmnlqR8J08s7XygdDDWclj/voimaNlcku3mr8dF4I3xMhUuCkQPZDGZcmChhn/TMlpr9HPFjHf13qt+7xEtNL2UMswCQSfX8W4RPm23x+/Fz8ows7okIANoFkPuPYD/ZjZLWcffnXzWe5C4g+7tA7PUIBxShDN6zs1TUxkAwOgGnjVITqpfZnWPaJPXjRw==ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.81
-[10.30.30.81]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQLNHp4kRmUeWA6+o72gnfGHkFKDx1G4Ix4bjeR0etZZqFWNbqtSwrcrltOKKBbLiu7vGf8MDnpGBoT7mDh3MIhxDLDeCxO2oqXTYu43oRA6LoKA4FbtBB1xVo1hp5jx6Xldsnx0RWbOTUl9NtvCqKjzYdenTDSSVrHegiM/H3G2IqJsjcXcGWZ/lDzahdhIfa19+GJH1VxlSi1z0A/m/r5gy5+FonRaI1v0zhHlicQJpSiLTFYpa6sdpbQ8/zXs4zKLargOFejcmeqW6ddO/7LGt6xmi9de+XeEWQMHkANihPeyxTtHyp4gfVCS01f4fLOG081t5FtWBv3lpAfuOb
-[10.30.30.86]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtvYZKuBJmgUPLMCB9cVmk9fbxLMs31nsif6IkUzvKU5eYNnCjq/wk7LN698gVc7A+ZjugkiTKi4g9zdnhpksCRZa8QHrYVbAyb4ESE9Qw97fZxW+Ty7Q4egndTVpcOfj8P5rR/zPmyKHwKxmZt2PZauZuYYNaYE2wsKSB1IHxY9zEHr2sDxI8HDzAVlGHuEnJ/ME6/UMJPyS5aiVCYuWP8AZg8ZzzVxLcLXElMsZeb9eQwjaeqmHWebGQZEW3UDgjJPYahW3ZOISb0xuyZsjMHWjk/ce2H6uUMuywFAdlErtqbM/7Pf3Vr2Erjben9fsp0jtE0g5D7fBOTyPvhMyB
-amster-nuc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF0GwfNXmbVuoZxS88cgks+DuWkkb4pf6q0bdjl3qo5T
-amster-nuc ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDh9NAYI11XI05LoIbj1LWWwoZzxvgnfPN1YuJrkg0gBOUgIH6lt9Z6PHY7pUlNeZrdTKIk+WQ77vGOV34DzR/Y6BX/xyx0KiVCZHAzUEvp0YTY71rAFnkqvdmILyKXeLOw0fcp0tcxGbmoWzvs9WZg9TmBGUUajrP77dRSsV41aIFofXppE1icXzLuQjFBbq+PoEdNddAgOLBclm1r/ZTtn6zW4vebqzIRZrjD9NKa2u9AjqO4SXQNDynJ9zIj1zynuFjGnMFvi8lk7PG/lpOwQAgQZaGRtiDJ0nJpkEqpxhfr/egDLTO47kK4mndgSbycpbeExEjFQhpxW2gyTRXnlvf49zQu/zV/ZloSVpn10vyMu/PWfI7KXt9TmdTlZXsSdwgWLJ+imJdPmaisoXoyDeKO0rhbrVo4iDCEJ9OY584sb8iWO58onjPCqB3AeyLe6bshUIXAevPjHe3mlb/yIO4EA6b9RfMdCTluhhwXcd/Bl5q0RE5BNkAPad0ptLk=
-amster-nuc ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCjHiiX40OvEKvWBGi6JYzA50Tx5yyWH8OPaKITHEfU9UNHWKJgiqv6It08XkSoRZw3JXlo7D/saZL4VmY/qD48=
-vados-nuc ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJeE4qzjC7hUP1xPVx9yiG9L5s0K2eEPtdvSt95F0JBY
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.10
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcieLidti9XSkOD3EkZyigI+GGLBhe8bBhPuXI0afyxnuagbMz3vY3tzyMaQ7iEi9NGgUE2BnPaxp/04DQ9/fcjwlCeuYUq0Kk7ZP4XtVSsYuDPDcx/pcLaIUum/G6bZpDA9Hmq5B3zPDbbgq0ujCIAAusV8jAqgVw7LZJM9NejpvMLd3VAw6HrwQIptIyp+5w+6hQd2VcOVjcdprFQnZeLS0DzfY7557bKLomxXncbyNVd8NqB3YT1+m+P5+3SyQe0K8FKnwiIWvh6L8CpL1f40Dke/BOoKg5N/1LO7kpZP27yVG7gqKW+d9/aE0xGa+uLUKcSHyEqtIJ+D/oAg8f mikro_bak@10.30.30.81
+++ /dev/null
-# HSTS 1.0 Known Hosts database for GNU Wget.
-# Edit at your own risk.
-# <hostname> <port> <incl. subdomains> <created> <max-age>
-github.com 0 1 1771536570 31536000
-codeload.github.com 0 0 1771536571 31536000
+++ /dev/null
-# Makefile
-
-BUILD_DIR = $(shell pwd)
-REPO_DIR ?= $(BUILD_DIR)
-
-ALL_RSC := $(wildcard html/*.rsc html/*/*.rsc)
-commitinfo.sh := $(wildcard bin/commitinfo.sh)
-GLOB_RSC := $(wildcard html/AM-GlobalFunc.rsc)
-
-SHELL := /bin/bash
-
-include ../.config/config.mk
-
-COMM_TAG := $(shell git rev-list --abbrev-commit --tags --max-count=1)
-# `2>/dev/null` suppress errors and `|| true` suppress the error codes.
-TAG := $(shell git describe --abbrev=0 --tags ${COMM_TAG} 2>/dev/null || true)
-# here we strip the version prefix
-TAG_VERS :=$(TAG:v%=%)
-# get the latest commit hash in the short form
-COMM_HASH := $(shell git rev-parse --short=8 HEAD 2>/dev/null) # Get short commit hash
-#COMMIT := $(shell git rev-parse --short HEAD)
-# get the latest commit date in the form of YYYYmmddHHMM ($(DTSTAMP_FMT))
-COMM_DATE := $(shell git log -1 --format=%cd --date=format:$(DTSTAMP_FMT))
-ifneq ($(COMM_HASH), $(COMM_TAG))
- TAG_VERS :=$(TAG_VERS)-next-$(COMM_HASH)-$(COMM_DATE)
-endif
-ifeq ($(TAG_VERS), )
- TAG_VERS :=$(COMM_HASH)-$(COMM_DATE)
-endif
-ifneq ($(shell git status --porcelain), )
- TAG_VERS :=$(TAG_VERS)-dirty
-endif
-
-.ONESHELL:
-
-export BUILD_DIR REPO_DIR ALL_RSC GLOB_RSC
-
-.DEFAULT_GOAL := all
-
-.PHONY: all check commit notify test
-
-all:
- @$(MAKE) check; rc=$$?; \
- if [ $$rc -eq 0 ]; then \
- echo "[add] check $$rc, go to commit..."; \
- $(MAKE) commit; cm=$$?; \
- if [ $$cm -eq 0 ]; then \
- echo "[all] commit exit $$cm. Exit Ok."; \
- else \
- $(MAKE) notify MSG="[all] commit exit $$cm. Check it!"; \
- fi \
- else \
- echo "[all] check exit $$rc, repo is clean exit Ok."; \
- fi
- @echo "[all] done"
-
-run:
- @$(MAKE) check; rc=$$?; \
- if [ $$rc -eq 0 ]; then \
- echo "[run] check $$rc, go to commitinfo.sh..."; \
- $(MAKE) $(commitinfo.sh); ci=$$?; \
- if [ $$ci -eq 0 ]; then \
- echo "[run] commitinfo.sh exit $$ci. Go to checksums.sh..."; \
- $(MAKE) checksums; cs=$$?; \
- if [ $$cs -eq 0 ]; then \
- echo "[run] checksums.sh exit $$cs. Do git add commit and push..."; \
- git add .; \
- git commit -m '$(COMM_INFO)'; \
- git push; \
- else \
- $(MAKE) notify MSG="[run] checksums.sh exit $$cs, check it!"; \
- fi \
- else \
- $(MAKE) notify MSG="[run] commitinfo.sh exit $$ci, check it!"; \
- fi \
- else \
- echo "[run] check exit $$rc, repo is clean exit Ok."; \
- fi
- @echo "[run] done"
-
-check:
- @bash bin/check_repo.sh
-
-commit:
- cd $(BUILD_DIR)
- git add .
- git commit -m '$(COMM_INFO)'
- git push
-
-notify:
- @bash bin/notify_telegram.sh "$(MSG)"
-
-checksums: checksums.json
-
-checksums.json: bin/checksums.sh $(ALL_RSC)
- bin/checksums.sh > html/tmp/$@
-
-$(commitinfo.sh): $(GLOB_RSC)
- $(commitinfo.sh) $< > $<~
- mv $<~ $<
-
-test:
- @bash -n bin/check_repo.sh
- @bash -n bin/notify_telegram.sh
- @bash -n bin/checksums.sh
- @bash -n bin/commitinfo.sh
- @echo "syntax ok"
-
-#clean:
-# git checkout HEAD -- .
+++ /dev/null
-MIT License
-
-Copyright (c) 2018 Leandro Nunes
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+++ /dev/null
-# bash-progress-indicator
-Pure Bash script progress indicators
-
-## Usage
-```
-chmod +x main.sh
-./main.sh {progress_indicator_type}
-```
-
-## progress_indicator_type
-#### progress
-
-
-#### progress_advanced
-
-
-#### spinner1
-
-#### spinner2
-
-#### spinner3
-
-
-## I wrote an article about this technique [pt-br]
-[Medium - [Bash] Construindo indicador de progresso](https://medium.com/meninunes/bash-construindo-indicador-de-progresso-8de94c37683)
-
-## License
-[MIT License](LICENSE) © [Leandro Nunes](https://lnfnunes.com.br)
+++ /dev/null
-#!/bin/bash -e
-# shellcheck disable=SC1091
-
-declare -rx STEPS=(
- 'pre-install'
- 'install'
- 'post-install'
-)
-declare -rx CMDS=(
- 'sleep 10'
- 'sleep 10'
- 'sleep 10'
-)
-
-case $1 in
- progress)
- . 'progress.sh'
- ;;
- progress_advanced)
- . 'progress_advanced.sh'
- ;;
- spinner*)
- . 'spinner.sh'
- ;;
- *)
- echo "Invalid option $1!"
- exit 1
-esac
-
-start
+++ /dev/null
-#!/bin/bash -e
-
-declare -rx BAR_SIZE="##########"
-declare -rx CLEAR_LINE="\\033[K"
-
-start() {
- local MAX_STEPS=${#STEPS[@]}
- local MAX_BAR_SIZE="${#BAR_SIZE}"
-
- tput civis -- invisible
-
- echo -ne "\\r[${BAR_SIZE:0:0}] 0 %$CLEAR_LINE"
- for step in "${!STEPS[@]}"; do
- ${CMDS[$step]}
-
- perc=$(((step + 1) * 100 / MAX_STEPS))
- percBar=$((perc * MAX_BAR_SIZE / 100))
- echo -ne "\\r[${BAR_SIZE:0:percBar}] $perc %$CLEAR_LINE"
- done
- echo ""
-
- tput cnorm -- normal
-}
+++ /dev/null
-#!/bin/bash -e
-
-start() {
- local MAX_STEPS=${#STEPS[@]}
- local BAR_SIZE="##########"
- local MAX_BAR_SIZE="${#BAR_SIZE}"
- local CLEAR_LINE="\\033[K"
-
- tput civis -- invisible
-
- for step in "${!STEPS[@]}"; do
- perc=$((step * 100 / MAX_STEPS))
- percBar=$((perc * MAX_BAR_SIZE / 100))
- echo -ne "\\r- ${STEPS[step]} [ ]$CLEAR_LINE\\n"
- echo -ne "\\r[${BAR_SIZE:0:percBar}] $perc %$CLEAR_LINE"
-
- ${CMDS[$step]}
-
- perc=$(((step + 1) * 100 / MAX_STEPS))
- percBar=$((perc * MAX_BAR_SIZE / 100))
- echo -ne "\\r\\033[1A- ${STEPS[step]} [✔]$CLEAR_LINE\\n"
- echo -ne "\\r[${BAR_SIZE:0:percBar}] $perc %$CLEAR_LINE"
- done
- echo ""
-
- tput cnorm -- normal
-}
+++ /dev/null
-#!/bin/bash -e
-
-declare -x FRAME
-declare -x FRAME_INTERVAL
-
-set_spinner() {
- case $1 in
- spinner1)
- FRAME=("⠋" "⠙" "⠹" "⠸" "⠼" "⠴" "⠦" "⠧" "⠇" "⠏")
- FRAME_INTERVAL=0.1
- ;;
- spinner2)
- FRAME=("-" "\\" "|" "/")
- FRAME_INTERVAL=0.25
- ;;
- spinner3)
- FRAME=("◐" "◓" "◑" "◒")
- FRAME_INTERVAL=0.5
- ;;
- spinner4)
- FRAME=(":(" ":|" ":)" ":D")
- FRAME_INTERVAL=0.5
- ;;
- spinner5)
- FRAME=("◇" "◈" "◆")
- FRAME_INTERVAL=0.5
- ;;
- spinner6)
- FRAME=("⚬" "⚭" "⚮" "⚯")
- FRAME_INTERVAL=0.25
- ;;
- spinner7)
- FRAME=("░" "▒" "▓" "█" "▓" "▒")
- FRAME_INTERVAL=0.25
- ;;
- spinner8)
- FRAME=("☉" "◎" "◉" "●" "◉")
- FRAME_INTERVAL=0.1
- ;;
- spinner9)
- FRAME=("❤" "♥" "♡")
- FRAME_INTERVAL=0.15
- ;;
- spinner10)
- FRAME=("✧" "☆" "★" "✪" "◌" "✲")
- FRAME_INTERVAL=0.1
- ;;
- spinner11)
- FRAME=("●" "◕" "☯" "◔" "◕")
- FRAME_INTERVAL=0.25
- ;;
- *)
- echo "No spinner is defined for $1"
- exit 1
- esac
-}
-
-start() {
- local step=0
-
-# tput civis -- invisible
-
- while [ "$step" -lt "${#CMDS[@]}" ]; do
- ${CMDS[$step]} & pid=$!
-
- while ps -p $pid &>/dev/null; do
- echo -ne "\\r[ ] ${STEPS[$step]} ..."
-
- for k in "${!FRAME[@]}"; do
- echo -ne "\\r[ ${FRAME[k]} ]"
- sleep $FRAME_INTERVAL
- done
- done
-
- echo -ne "\\r[ ✔ ] ${STEPS[$step]}\\n"
- step=$((step + 1))
- done
-
-# tput cnorm -- normal
-}
-
-set_spinner "$1"
+++ /dev/null
-#!/usr/bin/env bash
-
-cd "${REPO_DIR:-.}"
-
-dirty="$(git ls-files -u || true)"
-lsfiles="$(git ls-files --others --exclude-standard || true)"
-
-# Conflict or unresolved state: stop and notify.
-if [[ -n "$dirty" ]]; then
- echo "[check_repo] repo has conflicts, stop"
- echo "[check_repo] unmerged files:"
- printf "%s\n" "$dirty"
- echo "[check_repo] resolve conflicts and run: git add <files> && git commit"
- bash bin/notify_telegram.sh "STOP: repo conflicts in $(pwd)"
- exit 1
-fi
-
-# Exit 0 only when repo is NOT clean to allow autocommit flow.
-if git diff --quiet && git diff --cached --quiet && [[ -z "$lsfiles" ]]; then
- echo "[check_repo] repo clean. Exit 1 from check_repo.sh."
- exit 1
-else
- echo "[check_repo] repo not clean. Exit 0 from check_repo.sh."
- exit 0
-fi
+++ /dev/null
-/var/log/Mikrotiks
\ No newline at end of file
+++ /dev/null
-[10.30.30.10]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHv+zKADwFHB8DebzFchw4/RkJQRAjDWS7k1DdzCYzLfLsWqXdSc24HDBSLtdlEl9pPY7VevZm+VH1vHU06Ws1MWMC1oNr3UotAeb3qckUGLEvNqsDO5JOVVbHZVkbnwqnSfBIgAPGUNTHOImqV48D/Hi7Oey10e/KvoEKIS+RSaAZ4OkI3IiSG/9fnwVPYrvdjNAkgFUumNFvN8q512MV5W1RZ5ajsZwuBucxf5Bhny/c5pNHCKHrnQdCnn7RKyhZHPRJaPNmFhO3/A5j/LBDt04FGF9LG+gCBCNkUnQpAUiDzxgyvY+wJetXahUCyJ9hLoGTGM4AyxsHfrhJkMs9
+++ /dev/null
------BEGIN OPENSSH PRIVATE KEY-----
-b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
-NhAAAAAwEAAQAAAQEAu+2q6J8oIGRByMJOm3GTN9mixrKqrm/eW1Izv69Lt2oUTeCjfmsq
-Pk8CEiRjkyCaL/agXuIoDghGFFQGexanyVXJNYlSFgGa1WuCnzJBElpDQo5sHyKB2tvcFc
-jQv1SLJ3ci11GDIIhLAqlQ4veNN+CFkjXWgLocTTccPnC6+rgnMLkJK/owejWEjLFl/ti5
-0dqTPny+OT9Tq9ei9cY1fqJU4r56Gq5G5GYj9CzKfJZX5F5wkZ06nCCJGRWTXgrctoEFB4
-r+vn2rl1PyaqCz2AXWmWyjHcGZ2gp8Xw5beezJ8e5N4HBOZk/nsF8b1nMNpA20iN9d3ugI
-1X5SgjYdgQAAA8icBUzNnAVMzQAAAAdzc2gtcnNhAAABAQC77aronyggZEHIwk6bcZM32a
-LGsqqub95bUjO/r0u3ahRN4KN+ayo+TwISJGOTIJov9qBe4igOCEYUVAZ7FqfJVck1iVIW
-AZrVa4KfMkESWkNCjmwfIoHa29wVyNC/VIsndyLXUYMgiEsCqVDi94034IWSNdaAuhxNNx
-w+cLr6uCcwuQkr+jB6NYSMsWX+2LnR2pM+fL45P1Or16L1xjV+olTivnoarkbkZiP0LMp8
-llfkXnCRnTqcIIkZFZNeCty2gQUHiv6+fauXU/JqoLPYBdaZbKMdwZnaCnxfDlt57Mnx7k
-3gcE5mT+ewXxvWcw2kDbSI313e6AjVflKCNh2BAAAAAwEAAQAAAQAK2Ujj2PGbZ8OXGrB9
-r2wiQ0FvBbgYuIM2SQ6NDZ+Usl5YXel8+M7IKLjOjKSQRRzhkUk8xlgtnIipz8KirxzMi1
-PsRUXPLhSJfDAJj1XLq25KlKeP5zwRLbQM2zpBxq2p1Oor/Uammsz0awstBGwgl6jeV0FP
-eRmn03tL7NIT0HL3BSRP75ReWfdwF8L5Ja2JP1Mw1nBpbpEA4fAsGaHsX3WPaAVMx1ThUU
-vV1Qf+7aoDaX0hjdwNErFOwYUD37E7CvMMuwztGTR0SgC5UPkgW+OHiUtTWhQl0hHKy96t
-9J8l4nwmpNTcqdryKjffThroYKjv0YA71K1gHI6fQRxJAAAAgQC1tE1LnBIYtGdhkVHv1e
-9rOjdHm4XRgzmWDGYGFWndQfDZ+Tezj3lrookPf4Yp5GM5lB7OE+TsUbRPQkYlCTAURMGI
-rYagsCinmICMZj3IeaHmVbUmvNrd2NM+CvceMAsJBcNIbuWKyFv77wrsrHiUF+8hd4BWDk
-vVnATBUFTPHgAAAIEA71BXm3WQFevdMJaDT0tcTGG2Czf9RoR6gOLOiV+63Hd2a4jcQ1CG
-YitRWpvU0pE1151EwWiEeaT3gpA7wstMB26F9z6Co+wBcjpm0Aw+J/N+g8cJgED90ZQEQk
-5W0BTbn2VmL2av19BuLRW0IDE68BMnFuFLZO0kQvvIdl/EJHcAAACBAMkIHYmyuQafPRiA
-odBywQnz5XAPlxDdHw8uEEqSuCnAkiK3vbedf8qD4mkjmKsCZ/iDfcq+EtNxUDNSNiuxDo
-NbRo/cBGiGjlfv0a8RcpNhjOEu5cMMwdTSKrO2vsCi9dhS828C0fRL5dC07vYhDEyVTke7
-iD2DDEYAA3HeKqPHAAAAEG1pa3JvX2Jha0BhbXN0ZXIBAg==
------END OPENSSH PRIVATE KEY-----
+++ /dev/null
-ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC77aronyggZEHIwk6bcZM32aLGsqqub95bUjO/r0u3ahRN4KN+ayo+TwISJGOTIJov9qBe4igOCEYUVAZ7FqfJVck1iVIWAZrVa4KfMkESWkNCjmwfIoHa29wVyNC/VIsndyLXUYMgiEsCqVDi94034IWSNdaAuhxNNxw+cLr6uCcwuQkr+jB6NYSMsWX+2LnR2pM+fL45P1Or16L1xjV+olTivnoarkbkZiP0LMp8llfkXnCRnTqcIIkZFZNeCty2gQUHiv6+fauXU/JqoLPYBdaZbKMdwZnaCnxfDlt57Mnx7k3gcE5mT+ewXxvWcw2kDbSI313e6AjVflKCNh2B rsa-key-20260204
\ No newline at end of file
+++ /dev/null
-# RouterOS Configuration Scripts
-
-Personal RouterOS configuration scripts for home network management.
-
-## Overview
-
-This repository contains RouterOS scripts to configure and diagnose a MikroTik router. Configuration scripts set up router modes (routing, bridging, NAT, DHCP). Check scripts display router settings and diagnostics.
-
-## Quick Start
-
-### Running Scripts
-
-Run scripts on the router using forward slashes:
-
-```routeros
-/system script run config/firewall
-/system script run check/nat
-```
-
-## Network Configuration
-
-The `combo1` port is renamed to `combo1-WAN` for routing mode or `combo1-bridge` for switching mode. The `bridge` interface is used for the internal network.
-
-The WAN interface uses `192.168.200.2/24` with gateway `192.168.200.1`. The bridge interface uses `192.168.88.1/24` as the gateway for the internal network. DHCP serves addresses from `192.168.88.100-192.168.88.199`.
-
-## Hardware
-
-These scripts are tested on CRS106, a MikroTik switch/router.
-
-## Repository Structure
-
-```text
-routeros-config/
-├── scripts/
-│ ├── config/ # Configuration scripts
-│ ├── check/ # Diagnostic scripts
-│ └── README.md # Format and syntax guidelines
-└── README.md # This file
-```
-
-For format and syntax guidelines, see [scripts/README.md](scripts/README.md).
+++ /dev/null
-#!/bin/bash
-# Setup SSH keys for RouterOS router
-
-ROUTER_IP="10.30.30.81"
-ROUTER_USER="mikro_bak"
-KEY_NAME=$ROUTER_USER"_rsa@"$ROUTER_IP
-KEY_PATH="$HOME/.ssh/$KEY_NAME"
-
-# Check/create .ssh directory
-if [ ! -d "$HOME/.ssh" ]; then
- mkdir -p "$HOME/.ssh"
- chmod 700 "$HOME/.ssh"
-fi
-
-# Generate SSH key if it doesn't exist
-if [ ! -f "$KEY_PATH" ]; then
- ssh-keygen -t rsa -b 2048 -f "$KEY_PATH" -N "" -C "$ROUTER_USER@$ROUTER_IP"
-fi
-
-# Upload and import key on router
-scp "$KEY_PATH.pub" "$ROUTER_USER@$ROUTER_IP -p 2222":/
-ssh "$ROUTER_USER@$ROUTER_IP -p 2222" "/user ssh-keys import public-key-file=$KEY_NAME.pub user=$ROUTER_USER"
-
-# Verify key works
-if ! ssh -i "$KEY_PATH" -o PasswordAuthentication=no "$ROUTER_USER@$ROUTER_IP -p 2222" "/system identity print" >/dev/null 2>&1; then
- echo "Error: SSH key authentication failed"
- exit 1
-fi
+++ /dev/null
-#!/bin/bash
-# Upload all scripts and sync to RouterOS
-
-ROUTER_IP="10.30.30.10"
-ROUTER_USER="mikro_bak"
-SSH_KEY="$HOME/.ssh/mikro_bak_rsa"
-RSC_FILE="import_scripts.rsc"
-
-# Require router-specific SSH key
-if [ ! -f "$SSH_KEY" ]; then
- echo "Error: SSH key not found at $SSH_KEY"
- echo "Run ./setup-ssh-keys.sh to generate the key"
- exit 1
-fi
-
-SSH_OPTS="-i $SSH_KEY -o PasswordAuthentication=no"
-
-# Generate .rsc import file
-echo "Generating import file..."
-
-# Get git commit hash and dirty status
-GIT_HASH=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
-if [ -z "$(git status --porcelain 2>/dev/null)" ]; then
- GIT_STATUS="$GIT_HASH"
-else
- GIT_STATUS="$GIT_HASH-dirty"
-fi
-
-# Get current date with timezone offset
-GEN_DATE=$(date '+%Y-%m-%d %H:%M:%S %z')
-
-# Write header
-cat > "$RSC_FILE" << RSC_HEADER
-# RouterOS script import file
-# Generated by sync-script.sh
-# Date: $GEN_DATE
-# Git: $GIT_STATUS
-
-RSC_HEADER
-
-# Write header for creating scripts section
-printf ':put "=== Creating scripts ==="\n' >> "$RSC_FILE"
-printf '\n' >> "$RSC_FILE"
-
-# Create function for script creation
-printf ':global createScriptIfMissing do={\n' >> "$RSC_FILE"
-printf ' :if ([/system script print count-only where name=$scriptName] = 0) do={\n' >> "$RSC_FILE"
-printf ' :put ("Creating script: " . $scriptName);\n' >> "$RSC_FILE"
-printf ' /system script add name=$scriptName\n' >> "$RSC_FILE"
-printf ' }\n' >> "$RSC_FILE"
-printf '}\n\n' >> "$RSC_FILE"
-
-# Write all add commands first
-for SCRIPT_FILE in scripts/config/*.rsc scripts/check/*.rsc; do
- if [ ! -f "$SCRIPT_FILE" ]; then
- continue
- fi
-
- SCRIPT_NAME=$(sed -n '1p' "$SCRIPT_FILE" | sed 's/^# //')
- POLICY=$(sed -n '3p' "$SCRIPT_FILE" | sed -n 's/^# policy=\(.*\)/\1/p')
-
- if [ -z "$POLICY" ]; then
- echo "Error: Missing policy in $SCRIPT_FILE (line 3 should be '# policy=read,write')"
- exit 1
- fi
-
- # Call function with script name
- printf '$createScriptIfMissing scriptName="%s"\n' "$SCRIPT_NAME" >> "$RSC_FILE"
-done
-
-# Empty line between sections
-printf '\n' >> "$RSC_FILE"
-printf ':put ""\n' >> "$RSC_FILE"
-printf ':put "=== Updating scripts ==="\n' >> "$RSC_FILE"
-printf '\n' >> "$RSC_FILE"
-
-# Write all set commands
-for SCRIPT_FILE in scripts/config/*.rsc scripts/check/*.rsc; do
- if [ ! -f "$SCRIPT_FILE" ]; then
- continue
- fi
-
- SCRIPT_NAME=$(sed -n '1p' "$SCRIPT_FILE" | sed 's/^# //')
- COMMENT=$(sed -n '2p' "$SCRIPT_FILE" | sed 's/^# //')
- POLICY=$(sed -n '3p' "$SCRIPT_FILE" | sed -n 's/^# policy=\(.*\)/\1/p')
-
- # Escape comment for RouterOS (escape quotes)
- ESCAPED_COMMENT=$(echo "$COMMENT" | sed 's/"/\\"/g')
-
- # Read script content and escape for RouterOS .rsc format
- # Loop through file line by line, escape special chars, join with \n
- SCRIPT_CONTENT=""
- while IFS= read -r line || [ -n "$line" ]; do
- # Escape backslashes, dollar signs, and quotes
- line=$(echo "$line" | sed 's/\\/\\\\/g' | sed 's/\$/\\$/g' | sed 's/"/\\"/g')
- if [ -z "$SCRIPT_CONTENT" ]; then
- SCRIPT_CONTENT="$line"
- else
- SCRIPT_CONTENT="$SCRIPT_CONTENT\\n$line"
- fi
- done < "$SCRIPT_FILE"
-
- # Write set command directly to file
- printf ':put "Updating script: %s"; /system script set "%s" source="' "$SCRIPT_NAME" "$SCRIPT_NAME" >> "$RSC_FILE"
- echo "$SCRIPT_CONTENT" | sed 's/\\n/\\n\\\n /g' >> "$RSC_FILE"
- printf '" comment="%s" policy=%s\n\n' "$ESCAPED_COMMENT" "$POLICY" >> "$RSC_FILE"
-done
-
-# Delete the helper function
-printf '\n:set createScriptIfMissing;\n' >> "$RSC_FILE"
-
-# Print all scripts (excluding source/contents)
-printf ':put ""\n:put "=== All system scripts ==="\n/system script print proplist=name,comment,owner,policy,dont-require-permissions,run-count,last-started,invalid\n' >> "$RSC_FILE"
-
-# Show generated .rsc file and ask for confirmation
-echo ""
-echo "=== Generated import file ($RSC_FILE) ==="
-head -20 "$RSC_FILE"
-echo "..."
-echo ""
-read -p "Upload and import this file? (y/N): " -n 1 -r
-echo
-if [[ ! $REPLY =~ ^[Yy]$ ]]; then
- echo "Aborted"
- rm -f "$RSC_FILE"
- exit 1
-fi
-
-# Upload .rsc file
-echo "Uploading import file..."
-scp $SSH_OPTS "$RSC_FILE" "$ROUTER_USER@$ROUTER_IP":/
-
-# Import on router
-echo "Importing scripts..."
-ssh $SSH_OPTS "$ROUTER_USER@$ROUTER_IP" "/import file-name=$RSC_FILE"
-
-# Cleanup
-rm -f "$RSC_FILE"
-echo "Done!"
+++ /dev/null
-#!/bin/bash
-#set +e -u
-#o pipefail
-# Add to cron
-# crontab -e
-#*/20 * * * * /var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh
-#set +eo pipefail
-#set -x
-#GEN_DATE=$(date '+%Y-%m-%d %H:%M:%S %z')
-#GEN_DATE_TIME=$(date '+%d.%m.%Y %T %Z')
-#
-#ASK_NEXT=true
-#ask_forNext() {
-# local ask $1
-# local item $2
-# echo -n $ask
-#read item
-#case "$item" in
-# y|Y) echo "Enter «y», continue..."
-# ;;
-# n|N) echo "Enter «n», exit..."
-# exit 0
-# ;;
-# *) echo "Nothing was entered. We perform the default action..."
-# ;;
-#esac
-#}
-#${CMD_SSH} ${SSH_OPTS} ${SSHuser}@${SSHhost} system script run MkTmpfs;
-#
-#### Utils #############################################################################################
-CMD_FIND=$(which find)
-CMD_MV=$(which mv)
-CMD_GZ=$(which gzip)
-CMD_CHO=$(which chown)
-CMD_CHM=$(which chmod)
-CMD_MKD=$(which mkdir)" -p "
-CMD_RM=$(which rm)
-CMD_DATE=$(date +%Y%m%d_%H%M) # date in format YYYYMMDD_HHmm
-CMD_SSL=$(which openssl)
-CMD_SSH=$(which ssh)
-CMD_SCP=$(which scp)
-CMD_SFTP=$(which sftp)
-
-ScriptName=$(basename -- "$0")
-# HomeDir=$HOME
-HomeDir="/var/www/ros.vados.ru/Mikrotiks"
-HostsFile=${HomeDir}"/.config/.mikrotiks"
-BinDir=${HomeDir}"/bin"
-GitDir=${HomeDir}"/backups"
-
-# Set SSH defaults:
-DEFAULT_SSH_PORT="22"
-DEFAULT_SSH_USER="admin"
-DEFAULT_CONNECT_ATTEMPTS=5
-DEFAULT_CONNECT_TIMEOUT=5
-DEFAULT_SSH_KEY=${HomeDir}"/.ssh/id_rsa"
-# Set default diff args:
-DEFAULT_DIFF_ARGS=("-I \"RouterOS\"")
-#
-# Set debug and log options:
-DEBUG_OUT=true
-SAVE_LOG=true
-# Set default LogFile:
-DEFAULT_LOG="/var/log/Mikrotiks/ros-diff.log"
-#
-# Default backup variables:
-DEFAULT_BIN_CRYPT=true
-DEFAULT_BINPWD="BinPwd123"
-DEFAULT_EXP_CRYPT=false
-DEFAULT_EXPPWD="ExpPwd321"
-
-# Handy tput commands:
-#tput bold - Bold effect #'\033[1m'
-#tput rev - Display inverse colors
-#tput sgr0 - Reset everything #'\033[0m'
-#tput setaf {CODE}- Set foreground color, see color {CODE} below
-#tput setab {CODE}- Set background color, see color {CODE} below
-# Colors:
-#0 Black
-#1 Red #'\033[1;31m'
-#2 Green #'\033[1;32m'
-#3 Yellow #'\033[1;33m'
-#4 Blue # '\033[1;34m'
-#5 Magenta # '\033[1;35m'
-#6 Cyan # '\033[1;36m'
-#7 White # '\033[1;37m'
-if [ -t 1 ] && $DEBUG_OUT; then
- reset=$(tput sgr0)
- bold=$(tput bold)
- red=$(tput setaf 1)
- green=$(tput setaf 2)
- yellow=$(tput setaf 3)
- blue=$(tput setaf 4)
- magenta=$(tput setaf 5)
- cyan=$(tput setaf 6)
- white=$(tput setaf 7)
- toend=$(tput hpa $(tput cols))$(tput cub 6)
-else
- reset='' bold='' red='' green='' yellow='' blue='' magenta='' cyan='' white='' toend=''
-fi
-
-info() {
- echo -e "\n${blue}ℹ $*${reset}"
-}
-success() {
- echo -e "\n${green}✅ $*${reset}"
-}
-error() {
- echo -e "\n${red}❌ $*${reset}" >&2
-}
-warning() {
- echo -e "${yellow}⚠ $*${reset}" >&2
-}
-section() {
- echo -e "\n${magenta}................[$(tput rev) $* ${reset}${magenta}]................${reset}\n"
-}
-
-FRAME=("⠋" "⠙" "⠹" "⠸" "⠼" "⠴" "⠦" "⠧" "⠇" "⠏")
-FRAME_INTERVAL=0.1
-
-start() {
- local step=0
- while [ "$step" -lt "${#CMDS[@]}" ]; do
- ${CMDS[$step]} & pid=$!
- while ps -p $pid &>/dev/null; do
- echo -ne "\\r[ ] ${STEPS[$step]} ..."
- for k in "${!FRAME[@]}"; do
- echo -ne "\\r[ ${FRAME[k]} ]"
- sleep $FRAME_INTERVAL
- done
- done
- echo -ne "\\r[ ✔ ] ${STEPS[$step]}\\n"
- step=$((step + 1))
- done
-}
-#echo '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
-spinner()
-{
- local pid=$!
- local delay=0.75
- local spinstr='|/-\'
- #'⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
- while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
- local temp=${spinstr#?}
- printf " [%c] " "${spinstr}"
- local spinstr=$temp${spinstr%"$temp"}
- sleep $delay
- printf "\b\b\b\b\b\b"
- done
- printf " \b\b\b\b"
-}
-
-save_log() {
- local log="${DEFAULT_LOG}"
- if [ -n "${LogFile}" ]; then
- log="${LogFile}"
- fi
- if ${SAVE_LOG}; then
- echo "$(date '+%b %d %T') - $*" >> ${log}
- return 0
- else
- return 1
- fi
-}
-
-get_connections_str() {
- local opts
- local log_msg
- local host
- local ssh_str
- local scp_str
-
-# Require router-specific SSH key
- if [ -n "$DEFAULT_SSH_KEY" ]; then
- opts=("-i ${DEFAULT_SSH_KEY}" "-o PasswordAuthentication=no")
- else
- log_msg="- Error: SSH key not found at $DEFAULT_SSH_KEY\nRun ./setup-ssh-keys.sh to generate the key"
- if [ -t 1 ] && ${DEBUG_OUT}; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- exit 1
- fi
-# if [ -n "$DEFAULT_CONNECT_ATTEMPTS" ]; then
-# opts+=("-o ConnectionAttempts=${DEFAULT_CONNECT_ATTEMPTS}")
-# fi
-# if [ -n "$DEFAULT_CONNECT_TIMEOUT" ]; then
-# opts+=("-o ConnectTimeout=${DEFAULT_CONNECT_TIMEOUT}")
-# fi
- #opts+=("-o PreferredAuthentications=publickey" "-o StrictHostKeyChecking=no" "-o UserKnownHostsFile=/dev/null" \
- #"-o GlobalKnownHostsFile=/dev/null" "-o CheckHostIP=no")
-SSH_OPTS="${opts[*]}"
-
-# Require router host IP
- if [ -n "${SSHhost}" ]; then
- host="${SSHhost}"
- else
- log_msg="- Error! SSH Host not found. Exit 1."
- if [ -t 1 ] && ${DEBUG_OUT}; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- exit 1
- fi
-
- ssh_str=("$CMD_SSH" "-2" "-4")
- scp_str=("${CMD_SCP}" "-2" "-4" "-B ${SSH_OPTS}")
-
- if [ -n "${SSHport}" ]; then
- ssh_str+=("-p ${SSHport}")
- scp_str+=("-P ${SSHport}")
- else
- ssh_str+=("-p ${DEFAULT_SSH_PORT}")
- scp_str+=("-P ${DEFAULT_SSH_PORT}")
- fi
-
- if [ -n "${SSHuser}" ]; then
- ssh_str+=("-l ${SSHuser}")
- scp_str+=("${SSHuser}@${host}")
- else
- ssh_str+=("-l ${DEFAULT_SSH_USER}")
- scp_str+=("${DEFAULT_SSH_USER}@${host}")
- fi
-
- ssh_str+=("${host}")
-
-ssh_str+=("${SSH_OPTS}")
-SSH_STR="${ssh_str[*]}"
-SCP_STR="${scp_str[*]}"
-#SFTP_STR="${sftp_str[*]}"
-#SFTP_OPTS="-i ${DEFAULT_SSH_KEY} -o PasswordAuthentication=no -oPort=${SSHport}"
-}
-
-#>/dev/null 2>&1
-###############################
-# Backup listing
-###############################
-# Get Names Addresses and Ports in $HostsFile
-#declare -rx STEPS=(
-# 'download'
-# 'check'
-# 'backup'
-#)
-#IFS=$'\n'
-run_ssh_cmd() {
- local run="${1}"
- warning "${run}"
- if ${SSH_STR} ${run}; then
- return 0
- else
- return 1
- fi
-}
-
-download_config() {
- local conf="${1}"
- local log_msg
-
- if ${SSH_STR} export >${conf}; then
- log_msg="- Config download success!"
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- return 0
- else
- log_msg="- Config download ${conf} error! Exit Error 1."
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- exit 1
- fi
-}
-
-compare_config() {
- local config_file="${1}"
- local precedent_file="${2}"
- local diff_file="${3}"
- local diff_args=${DEFAULT_DIFF_ARGS}
- local log_msg
-
- diff ${diff_args} ${config_file} ${precedent_file} >${diff_file}
- if [ "$?" -ne "0" ]; then
- log_msg="- There is a difference! Create backup..."
- if [ -t 1 ] && $DEBUG_OUT; then
- section " CREATE BACKUP "
- sleep 1
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- return 0
- else
- log_msg="- The files are identical. No backup is required."
- if [ -t 1 ] && $DEBUG_OUT; then
- section " START CLEANUP "
- sleep 1
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- log_msg="- Remove ${diff_file} file."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- ${CMD_RM} -f ${diff_file}
- log_msg="- Remove ${config_file} file."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- ${CMD_RM} -f ${config_file}
-
- return 1
- fi
-}
-
-check_directory() {
- local chk_dir="${1}"
- local log_msg
-
- if [[ -d ${chk_dir} && -r ${chk_dir} ]]
- then
- return 0
- else
- if $CMD_MKD ${chk_dir}; then
- log_msg="- Direcory ${chk_dir} created."
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- return 0
- else
- log_msg="- Error create direcory ${chk_dir}! Exit 1."
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- exit 1
- fi
-# This script must be run by a special user in his home directory.
-# Therefore, the following lines are not needed.
-# $CMD_CHO root:root $dir
-# $CMD_CHM 755 $ST_FULL
- fi
-}
-
-#${SSH_STR} /system script environment get [find name=BackupPassword] value;
-#exit 0
-backup_binary() {
- local bin_name="${1}"
- local crypt="${2:-$DEFAULT_BIN_CRYPT}"
- local bin_pass="${3:-$DEFAULT_BINPWD}"
- local log_msg
- local crypt_str
- #${SSH_STR} :put [/system script environment get [find name=BackupPassword] value];
-
- if ${SSH_STR} /system/script environment find where name=BackupEncrypt && ${SSH_STR} /system/script environment find where name=BackupPassword; then
-
- bin_pass=${SSH_STR} /system/script/environment/get ([ /system/script/environment find name='BackupPassword' ]->value);
- crypt_str="dont-encrypt=no password=${bin_pass}"
- warning "${crypt_str}"
- else
- if [ -n ${crypt} ] && [ -n {passwd} ]; then
- crypt_str="dont-encrypt=no password=${passwd}"
- else
- crypt_str="dont-encrypt=yes"
- fi
-
- fi
- # if [ -n $]; then
-
-# local BKPSTR="system backup save name=${bin_name} dont-encrypt=no password=$BKP_BINPWD"
-# T_BKPCLN="file remove [find name=$TGT_BKPNAME_BIN]"
-}
-
-readarray -t lines < $HostsFile
-#declare -r STEPS=($lines)
-#declare -r MAX_STEPS=${#lines[@]}
-#declare -r BAR_SIZE="##########"
-#declare -r MAX_BAR_SIZE=${#BAR_SIZE}
-
-for HR in "${lines[@]}"; do
-# perc=$(((HR + 1) * 100 / MAX_STEPS))
-# percBar=$((perc * MAX_BAR_SIZE / 100))
-# declare -rx CMDS=(
-# "${CMD_SSH} ${SSH_OPTS} ${SSHuser}@${SSHhost} export >$current_config"
-# 'sleep 10'
-# 'sleep 1'
-#)
-while IFS=$' ' read -a HR ; do
-#|| [ -n "$HR" ]; do
-[[ -z ${HR[0]} ]] && continue
-
-DStamp=$(date '+%Y%m%d')
-DTStamp=$(date '+%Y%m%d%H%M%S')
-
-RouterName=${HR[0]}
-SSHhost=${HR[1]}
-SSHport=${HR[2]}
-SSHuser=${HR[3]}
-SSHpassword=${HR[4]}
-
-get_connections_str
-backup_binary "BinaryTest.backup"
-
-exit 0
-#warning "SSH_STR = ${SSH_STR}"
-#warning "SCP_STR = ${SCP_STR}"
-#exit 0
-
-BaseDir=${HomeDir}"/backups/${RouterName}/"
-TempDir=${BaseDir}"tmp/"
-HistoryDir=${BaseDir}"history/"
-LogFile="/var/log/Mikrotiks/${RouterName}.log"
-log_msg="undefined"
-
-log_msg="- Start backup script ${ScriptName} for ${RouterName}"
-if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- echo
-fi
-save_log "${log_msg}"
-
-log_msg="- Check and creatre services directories for ${RouterName} if not exsist..."
-if [ -t 1 ] && $DEBUG_OUT; then
- section " CHECK DIRS "
- info "${RouterName} ${log_msg}"
-fi
-save_log "${log_msg}"
-
-CheckDirs=("${BaseDir}" "${TempDir}" "${HistoryDir}")
-for dir in "${CheckDirs[@]}"; do
-(check_directory "${dir[@]}")
-done
-
-log_msg="All Directories for ${RouterName} was created sucessfully!"
-if [ -t 1 ] && $DEBUG_OUT; then
- success "${log_msg}"
-fi
-save_log "- ${log_msg}"
-
-log_msg="Set variables for ${RouterName}..."
-if [ -t 1 ] && $DEBUG_OUT; then
- info "${log_msg}"
-fi
-save_log "- ${log_msg}"
-
-precedent_config=${BaseDir}"Precedent-Config.rsc"
-current_config=${TempDir}"Config.rsc"
-diff_config=${TempDir}"Diff-Config.rsc"
-current_backup="Binary.backup"
-
-log_msg="Set variables for ${RouterName} success!"
-if [ -t 1 ] && $DEBUG_OUT; then
- success "${log_msg}"
-fi
-save_log "- ${log_msg}"
-
-section " CHECK CONFIG "
-log_msg="- Download ${current_config} file to Temp Directory..."
-if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
-fi
-save_log "- ${log_msg}"
-
-download_config "${current_config}"
-
-log_msg="- Comparing with the previous config..."
-if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
-fi
-save_log "- ${log_msg}"
-
-if compare_config ${current_config} ${precedent_config} ${diff_config} ${RouterName} ${LogFile}; then
- BackupDir=${BaseDir}"${DStamp}/"
- ${CMD_MKD} ${BackupDir}
-
- save_config=${BackupDir}"${DTStamp}-Config.rsc"
- save_backup=${BackupDir}"${DTStamp}-Binary.backup"
-
- log_msg="- Copy ${current_config} file to ${BackupDir} directory..."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "- ${log_msg}"
-
- cp ${current_config} ${save_config}
-
- ${CMD_RM} -f ${precedent_config}
-
- ${CMD_MV} -f ${current_config} ${precedent_config}
-
- log_msg="- Copy configuration to ${BackupDir}/${save_config} and ${precedent_config} success."
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "- ${log_msg}"
-
- log_msg="Create ${current_backup} file on ${RouterName}..."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${log_msg}"
- fi
- save_log "- ${log_msg}"
-# if [ $? -eq 0 ]; then
- if ${SSH_STR} system backup save name=${current_backup}; then
- log_msg="Create binary backup ${current_backup} on ${RouterName} success."
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${log_msg}"
- fi
- save_log "- ${log_msg}"
-
- log_msg="- Start download ${current_backup} file to ${BackupDir}..."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "- ${log_msg}"
-
-# if ${SFTP_STR}:$current_backup; then
- # ${CMD_SFTP} ${SFTP_OPTS} ${SSHuser}@${SSHhost}:$current_backup
- if ${SCP_STR}:/${current_backup} ${save_backup}; then
- sleep 2
- log_msg="- Binary Backup download complete!"
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- else
- log_msg="- Error! Save binary backup on ${RoutrName} failed!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${log_msg}"
- fi
- save_log "${log_msg}"
- fi
- else
- log_msg="Error create binary backup ${current_backup} on ${RouterName}!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${log_msg}"
- fi
- save_log "- ${log_msg}"
- fi
-
- log_msg="- Remove ${current_backup} file on ${RouterName}."
- if [ -t 1 ] && $DEBUG_OUT; then
- section "CLEANUP"
- info "${log_msg}"
- fi
- save_log "- ${log_msg}"
-
- if ${SSH_STR} /file remove ${current_backup}; then
- log_msg="- Remove ${current_backup} file on ${RouterName} complete succesfully!"
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- else
- log_msg="- Error Remove ${current_backup} file on ${RouterName}!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- fi
-
- cd "${BaseDir}"
-
- CurrentHistoryDir=${HistoryDir}"${DStamp}/"
- ${CMD_MKD} -p ${CurrentHistoryDir}
- diff_config_history=${CurrentHistoryDir}"${DTStamp}-Diff-Config.rsc"
- log_msg="- Move ${diff_config} file to ${CurrentHistoryDir}."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
-
- if ${CMD_MV} -f ${diff_config} ${diff_config_history}; then
- log_msg="- Move ${diff_config} file to ${CurrentHistoryDir} complete succesfully!"
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- else
- log_msg="- Error move ${diff_config} file to ${CurrentHistoryDir}!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- fi
-
- log_msg="- Go to Git directory (${GitDir}), add backups files and commit him."
- if [ -t 1 ] && $DEBUG_OUT; then
- section " COMMIT "
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- cd "${GitDir}/"
- git add .
- log_msg="- Git add commit..."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- if git commit -m "Backup for ${RouterName} sucessfully creatd at $(date '+%b %d %T')."; then
- log_msg=" - Git add commit success."
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- else
- log_msg="- Git add commit Error!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- fi
- log_msg="- Git push commit..."
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- if git push origin main; then
- log_msg=" - Git push commit success."
- if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- else
- log_msg="- Git push commit Error!"
- if [ -t 1 ] && $DEBUG_OUT; then
- error "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
- fi
-else
- log_msg="- ${RouterName} backup complete!"
- if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
- fi
- save_log "${log_msg}"
-fi
-
-log_msg="- Remove Temp directory."
-if [ -t 1 ] && $DEBUG_OUT; then
- info "${RouterName} ${log_msg}"
-fi
- save_log "${log_msg}"
-
-${CMD_RM} -d ${TempDir}
-log_msg="- backup complete!"
-if [ -t 1 ] && $DEBUG_OUT; then
- success "${RouterName} ${log_msg}"
-fi
-save_log "${log_msg}"
-
-done <<<"$(echo -e $HR)"
-LogFile="${DEFAULT_LOG}"
-# echo -ne "\\r[${BAR_SIZE:0:percBar}] $perc %"
-#echo "[] $perc %"
-done
-log_msg="All Done! Exit 0."
-if [ -t 1 ] && $DEBUG_OUT; then
- section " DONE "
- success "${log_msg}"
-fi
-save_log "${log_msg}"
-exit 0
+++ /dev/null
-:global MkDir;
-:put [($MkDir /usb1/tmpfs)];
-:log warning ("\$MkDir = " . $MkDir . ".");
+++ /dev/null
-#!/bin/bash
-# Add to cron
-# crontab -e
-#*/20 * * * * /var/www/ros.vados.ru/Mikrotiks/.bin/ros-diff.sh
-#set +eo pipefail
-#set -x
-#
-DEBUG_OUT=true
-if [ -t 1 ] && $DEBUG_OUT; then
- reset='\033[0m'
- bold=$(tput bold)
- #'\033[1m'
- red=$(tput setaf 7)$(tput setab 1)
- #'\033[1;31m'
- green=$(tput setaf 4)$(tput setab 7)$(tput bold)
- #'\033[1;32m'
- yellow='\033[1;33m'
- blue='\033[1;34m'
- magenta='\033[1;35m'
- cyan='\033[1;36m'
- white='\033[1;37m'
-else
- reset='' bold='' red='' green='' yellow='' blue='' cyan='' magenta='' white=''
-fi
-
-info() {
- if $DEBUG_OUT; then
- echo -e "${blue}ℹ $*${reset}"
- fi
-}
-success() {
- if $DEBUG_OUT; then
- echo -e "${bold}${green}✅ $*${reset}"
- fi
-}
-error() {
- if $DEBUG_OUT; then
- echo -e "${red}❌ Error: $*${reset}" >&2
- fi
-}
-warning() {
- if $DEBUG_OUT; then
- echo -e "${yellow}⚠ $*${reset}" >&2
- fi
-}
-section() {
- if $DEBUG_OUT; then
- echo -e "\n${magenta}====$*====${reset}"
- fi
-}
-toend=$(tput hpa $(tput cols))$(tput cub 6)
-toend_ok() {
- if $DEBUG_OUT; then
- echo -n "${toend}${white}[${green}OK${white}]"
- fi
-}
-toend_error() {
- if $DEBUG_OUT; then
- echo -n "${toend}${white}[${red}ERROR${white}]"
- fi
-}
-BR() {
- if $DEBUG_OUT; then
- echo -e "\n"
- fi
-}
-
-error "error"
-success "success"
-exit 0
-
-# HomeDir=$HOME
-HomeDir="/var/www/ros.vados.ru/Mikrotiks"
-HostsFile=${HomeDir}"/.config/.mikrotiks"
-BinDir=${HomeDir}"/.bin"
-GitDir=${HomeDir}"/backups"
-
-SSH_KEY=${HomeDir}"/.ssh/id_rsa"
-# Require router-specific SSH key
-if [ ! -f "$SSH_KEY" ]; then
- error "Error: SSH key not found at $SSH_KEY"
- error "Run ./setup-ssh-keys.sh to generate the key"
- exit 1
-fi
-
-###############################
-# Backup listing
-###############################
-# Get Names Addresses and Ports in $HostsFile
-
-readarray -t lines < $HostsFile
-
-for HR in "${lines[@]}"; do
-while IFS=$' ' read -a HR ; do
-#|| [ -n "$HR" ]; do
-[[ -z ${HR[0]} ]] && continue
-
-#GEN_DATE=$(date '+%Y-%m-%d %H:%M:%S %z')
-GEN_DATE=$(date '+%d.%m.%Y')
-GEN_TIME=$(date '+%b %d %T')
-GEN_DATE_TIME=$(date '+%d.%m.%Y %T %Z')
-DStamp=$(date '+%Y%m%d')
-
-RouterName=${HR[0]}
-SSHhost=${HR[1]}
-SSHport=${HR[2]}
-SSHuser=${HR[3]}
-SSHpassword=${HR[4]}
-
-BaseDir=${HomeDir}"/backups/"${RouterName}
-TempDir=${BaseDir}"/tmp"
-HistoryDir=${BaseDir}"/history"
-LogFile="/var/log/Mikrotiks/"${RouterName}".log"
-
-SSH_OPTS="-i $SSH_KEY -o PasswordAuthentication=no -p ${SSHport}"
-SFTP_OPTS="-i $SSH_KEY -o PasswordAuthentication=no -oPort=${SSHport}"
-echo "${GEN_DATE_TIME} - Start backup script ${ARGV[0]} for ${RouterName}" >> ${LogFile}
-section "Create dirs"
-info "Create servise directories for ${RouterName}..."
-echo "${GEN_TIME} - Create services directories for ${RouterName}..." >> ${LogFile}
-mkdir -p ${BaseDir}
-mkdir -p ${TempDir}
-mkdir -p ${HistoryDir}
-echo "${GEN_TIME} - All Directories for ${RouterName} was created sucessfully!" >> ${LogFile}
-success "All directories for ${RouterName} was created sucessfully!"
-echo "${GEN_TIME} - Set variables for ${RouterName}..." >> ${LogFile}
-info "Set variables for ${RouterName}..."
-precedent_config=${BaseDir}"/Precedent-Config.rsc"
-current_config="Config.rsc"
-current_backup="Binary.backup"
-diff_config=${TempDir}"/Diff-Config.rsc"
-echo "${GEN_TIME} - Set variables for ${RouterName} success!" >> ${LogFile}
-success "Set variables for ${RouterName} success!"
-#ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} system script run MkTmpfs;
-cd ${TempDir}
-section ""
-BR
-section "Start checkout process"
-info "Download ${current_config} file to Temp Directory..."
-echo "${GEN_TIME} - Download ${current_config} file to ${TempDir}" >> ${LogFile}
-ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} export >$current_config
-if [ $? -eq 0 ]; then
-echo
-toend_ok
-echo
-echo "${GEN_TIME} - Download complete!" >> ${LogFile}
-else
-echo
-toend_error
-echo
-echo "${GEN_TIME} - Download ${current_config} failed!" >> ${LogFile}
-exit 1
-fi
-info "Comparing with the previous config..."
-echo "${GEN_TIME} - Comparing with the previous config..." >> ${LogFile}
-diff -I "RouterOS" ${current_config} ${precedent_config} >${diff_config}
-if [ "$?" -ne "0" ]; then
-echo "${GEN_TIME} - There is a difference! Create backup..." >> ${LogFile}
-section "Create backup for ${RouterName}"
-BackupDir=${BaseDir}"/"${DStamp}
-mkdir -p ${BackupDir}
-DTStamp=$(date '+%Y%m%d%H%M%S')
-save_config=${DTStamp}"-Config.rsc"
-save_backup=${DTStamp}"-Binary.backup"
-diff_config_history=${DTStamp}"-Diff-Config.rsc"
-echo "${GEN_TIME} - Copy ${current_config} file to ${BackupDir} directory..." >> ${LogFile}
-cd ${TempDir}
-rm -f ${precedent_config}
-cp ${current_config} ${BackupDir}"/"${save_config}
-mv -f ${current_config} ${precedent_config}
-echo "${GEN_TIME} - Copy configuration to ${BackupDir}/${save_config} and ${precedent_config} success." >> ${LogFile}
-success "Copy configuration to ${BackupDir}/${save_config} and ${precedent_config} success."
-info "Create ${current_backup} file on ${RouterName}..."
-echo "${GEN_TIME} - Create ${current_backup} file on ${RouterName}..." >> ${LogFile}
-ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} system backup save name=${current_backup}
-if [ $? -eq 0 ]; then
-echo
-toend_ok
-echo
-echo "${GEN_TIME} - Create binary backup ${current_backup} on ${RouterName} success." >> ${LogFile}
-info "Start download ${current_backup} file to ${BackupDir}..."
-echo "${GEN_TIME} - Start download ${current_backup} file to ${BackupDir}..." >> ${LogFile}
-sftp ${SFTP_OPTS} ${SSHuser}@${SSHhost}:$current_backup
-sleep 1
-success "Download complete!"
-echo "${GEN_TIME} - Download complete!" >> ${LogFile}
-cd ${BackupDir}
-sleep 2
-mv -f ${TempDir}"/"${current_backup} ${save_backup}
-echo "${GEN_TIME} - Remove ${current_backup} file on ${RouterName}." >> ${LogFile}
-ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} /file remove ${current_backup}
-else
-echo
-toend_error
-echo
-echo "${GEN_TIME} - Create binary backup ${current_backup} failed!" >> ${LogFile}
-ssh ${SSH_OPTS} ${SSHuser}@${SSHhost} /file remove $current_backup
-exit 1
-fi
-cd ${TempDir}
-CurrentHistoryDir=${HistoryDir}"/"${DStamp}
-mkdir -p ${CurrentHistoryDir}
-echo "${GEN_TIME} - Move ${diff_config} file to ${CurrentHistoryDir}." >> ${LogFile}
-mv -f ${diff_config} ${CurrentHistoryDir}"/"${diff_config_history}
-echo "${GEN_TIME} - Move ${diff_config} file to ${CurrentHistoryDir} complete." >> ${LogFile}
-echo "${GEN_TIME} - Go to Git directory (${GitDir}), add backups files and commit him." >> ${LogFile}
-rm -d ${TempDir}
-cd ${GitDir}
-git add .
-echo "${GEN_TIME} - Git add commit..." >> ${LogFile}
-git commit -m "Backup for ${RouterName} sucessfully creatd at ${GEN_TIME}."
-echo "${GEN_TIME} - Done." >> ${LogFile}
-echo "${GEN_TIME} - Git push..." >> ${LogFile}
-git push origin main
-echo "${GEN_TIME} - Done." >> ${LogFile}
-echo "${GEN_TIME} - ${RouterName} backup complete!" >> ${LogFile}
-success "${RouterName} backup complete!"
-fi
-section "The files are identical. No backup is required."
-echo "${GEN_TIME} - The files are identical. No backup is required." >> ${LogFile}
-echo "${GEN_TIME} - Remove ${diff_config} file." >> ${LogFile}
-info "Remove ${diff_config} file."
-rm -f ${diff_config}
-echo "${GEN_TIME} - Remove ${current_config} file." >> ${LogFile}
-info "Remove ${current_config} file."
-rm -f ${current_config}
-echo "${GEN_TIME} - Remove Temp directory." >> ${LogFile}
-info "Remove Temp directory."
-rm -d ${TempDir}
-section ""
-success "${RouterName} backup complete!"
-echo "${GEN_TIME} - ${RouterName} backup complete!" >> ${LogFile}
-done <<<"$(echo -e $HR)"
-done
-section "All Done!"
-echo "All Done!" >> ${LogFile}
-exit 0