diff --git a/backup.sh b/backup.sh index 1d382cf..502998a 100644 --- a/backup.sh +++ b/backup.sh @@ -66,6 +66,24 @@ createlist() { echo echo -n "" > $backupall let ii=0 + + maxlen=0 + + # Первый проход для определения максимальной длины имени сайта + for file in $directory/* + do + if [ -d "$file" ] + then + r="${file##*/}" + # Определяем длину имени сайта + len=${#r} + if (( len > maxlen )) + then + maxlen=$len + fi + fi + done + for file in $directory/* do if [ -d "$file" ] @@ -78,19 +96,21 @@ createlist() { fi let ii=$ii+1 printf "%3s. " $ii - printf "${GREEN}%s${WHITE} " "${r}" + if [ -n "`mariadb -uroot -p${MYSQLPASS} -qfsBe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$db'" 2>&1`" ]; then - echo "База данных $db " + db_output="База данных $db" else db="" - echo "----" + db_output="----" fi - currentuser=$(stat -c %U "${file}") + printf "${GREEN}%-${maxlen}s${WHITE} %-30s\n" "$r" "$db_output" + currentuser=$(basename $(dirname $(dirname "$file"))) MYSQLPASS=$(cat /home/${currentuser}/.pass.txt | grep Database | awk '{ print $2}') echo "${currentuser};$r;$db;${currentuser};$MYSQLPASS" >> $backupall fi done + echo } backupall() { @@ -199,11 +219,7 @@ configcnf() { echo "verbose = yes" >> $cnf } -echo "*********************************************************" -echo "* *" -echo "* Скрипт автоматического архивирования сайтов сервера *" -echo "* *" -echo "*********************************************************" +echo "Скрипт автоматического архивирования сайтов сервера" echo @@ -234,12 +250,14 @@ then else echo -e "Список сайтов для архивации ${GREEN}найден${WHITE} (${backupall})" fi +minute=$(shuf -i 0-59 -n 1) +minute=$(printf "%2d" $minute) echo -echo "******************************************************************" -echo -e "* Для вызова скрипта в режиме CRON нужно добавить параметр auto. *" -echo -e "* Настроить архивацию можно по команде crontab -e *" -echo -e "* 0 4 * * * /root/rish/backup.sh auto >/dev/null 2>&1 *" -echo "******************************************************************" +echo "┌────────────────────────────────────────────────────────────────┐" +echo "│ Для вызова скрипта в режиме CRON нужно добавить параметр auto. │" +echo "│ Настроить архивацию можно по команде crontab -e │" +echo "│ $minute 4 * * * /root/rish/backup.sh auto >/dev/null 2>&1 │" +echo "└────────────────────────────────────────────────────────────────┘" echo echo while true diff --git a/mc.menu b/mc.menu index 5bb70c7..aa18060 100644 --- a/mc.menu +++ b/mc.menu @@ -21,7 +21,7 @@ shell_patterns=0 fi echo "Ждите пока идет создание архива сайта..." tar -czf %f".tar.gz" %f && \ - echo %f".tar.gz создан." + echo -e "${GREEN}"%f".tar.gz${WHITE} создан." vertical_menu "current" 2 0 5 "Нажмите Enter" + d /var/www/ & t d diff --git a/postupdate.sh b/postupdate.sh index 9b1c176..c5a554b 100644 --- a/postupdate.sh +++ b/postupdate.sh @@ -89,6 +89,10 @@ if ! check_step "$STEP"; then # Проверяем, существует ли параметр php_value[upload_tmp_dir] if ! grep -q "php_value\[upload_tmp_dir\]" "$conf_file"; then + if [[ $(tail -c 1 "$conf_file") != $'\n' ]]; then + # Если последняя строка файла не завершается переводом строки, добавляем перевод строки + echo "" >> "$conf_file" + fi # Если параметра нет, добавляем его в конец файла echo "php_value[upload_tmp_dir] = /var/www/$username/tmp" >> "$conf_file" echo -e "${GREEN}${username} ($(basename $php_version_dir))${WHITE}: Добавлен параметр php_value[upload_tmp_dir] в $conf_file" diff --git a/version b/version index abae0d9..c346e7a 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.1.3 \ No newline at end of file +2.1.4 \ No newline at end of file