чтобы PATH содержал папки sbin
#!/bin/sh
dirlist="dir1 dir2 dirN"
for onedir in $dirlist
do
# Это собственно бэкап
tar zcf - /mnt/md4/${onedir} | ssh user@192.168.0.XXX "cat > /mnt/BACKUP/${onedir}_$(date '+%F_%T').tar.gz"
# А это проверка того, что что-то сбэкапилось
# Отбрасываем ->, чтобы исключить линки
line=`ssh user@192.168.0.XXX \
"cd /mnt/BACKUP/ && ls -la | grep ${onedir}_$(date '+%F_%T').tar.gz | grep -v -e \"->\""`
# Если в результате пусто - такого файла нет
if [ ${#line} -eq 0 ]; then
echo "Backup failed"
else
# Берем длину и проверям, что она не нуль
size=`echo $line | awk '{print $5}'`
if [ $size -ne 0 ]; then
echo "Backup Success"
else
echo "Backup failed"
fi
fi
done
Большая часть кода написана и доработана GPT,
# Вывели сообщение
echo "Starting.."
# Перешли в некий каталог
cd /home/technocat/PyShell/bin/
# Ничего не делаем, но видимо пытались вызвать окно терминала, только странно как-то
#gnome-terminal -e "bash -c \"source activate; exec bash\""
# Подгружаем скрипт activate из общих путей - такой скрипт существует? Он действительно находится на общих путях?
source activate
# Вызываем вложенный шелл в режиме логина (при этом выполняется .bash_profile, а не только .bashrc)
exec bash --login
Можно мне хоть минимальный пример кода
# Check entered answer on presence "yes" or "no" - another answers
# is prohibited
#
# Input: $1 (string) - user answer
# $2 (string) - warning sign.
# When parameter set to "warn", script claims about missed input
# Output: $_isavalid (int) - 0, when answer is not valid
# 1, when answer is valid
check_yesno()
{
local _check _warn
_warn=${2:-no}
# At start name claimed as NOT valid!
_isavalid=0
# Check on presence any data, passed as answer
if [ ${#1} -eq 0 ]; then
if [ $_warn = "warn" ]; then
echo "There is no defaults, please answer \"Yes\" or \"No\""
fi
return
fi
# Check name through specified regexp
regexp="^([Yy][Ee][Ss])$|^([Nn][Oo])$|^[Yy]$|^[Nn]$"
_check=`echo $1 | grep -v -E -e "$regexp"`
if [ ${#_check} -ne 0 ]; then
return
fi
_isavalid=1
}
pg_dump -U postgres zkgu | gzip > /mnt/NStore/1c-sqldump/$n$d.gz