sudo -V | head -n 1 |awk '{ print $3 }'
1.8.21p2
if [ "$(sudo -V | head -n 1 |awk '{ print $3 }')" = "1.8.21p2" ]; then
echo "все сработало"
fi
if [["$(sudo -V | head -n 1 |awk '{ print $3 }')" = "1.8.21p2" ]]; then
echo "все сработало 1.8.21p2"
elif [[ "$(sudo -V | head -n 1 |awk '{ print $3 }')" = "1.0" ]]; then
echo "все сработало 1.0"
fi
find /home/lalala -type f -exec cat {} \;
find
- найти/home/lalala
- где-type f
- файл-exec
выполнить команду (фишка файнд)cat
- принт файла{}
путь до файла который найдет файнд \;
закрывается файнд экранированныйx[^x].*x
- вот так [0-9]+x[0-9]+.+[0-9]+x[0-9]+
[0-9]+x
- цифры 1 раз и больше#!/bin/sh
#скрипт бэкапа баз данных
###########################
#Создаем папку для архивов. -p не ругается когда папка уже есь test проверяет есть ли папка для чистых логов
test ! -d /var/backup/mysql/`date +%Y` && { mkdir -p /var/backup/mysql/`date +%Y` ; }
test ! -d /var/backup/mysql/last && { mkdir -p /var/backup/mysql/last ; }
#прячем от умных, и так не зайдут но всеже.
chmod 600 /var/backup/mysql
chmod 600 /var/backup/mysql/last
# делаем сам дапм файлов sql, свежинькие файлы лежат всегда в ней, очень удобно не нужно заходить в архивы и искать там вчерашние базы, и логируется.
for i in `mysql -u***** -p******** -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -u********* -p********* $i > /var/backup/mysql/last/$i.sql;done >> /dev/null 2>> /var/log/sqlbackup.log
# Архивируем дамп, ну и логируем разумеется
cd /var/backup/mysql/
tar -czvf /var/backup/mysql/`date +%Y`/sqldump-`date +%Y-%m-%u`.tar.gz ./last >> /dev/null >> /var/log/sqlbackup.log
#(echo "Subject: Бэкап mysql server завершен"; cat /var/log/sqlbackup.log;) | /usr/sbin/sendmail viktor@demo.ru
################## Конец скрипта
for i in `mysql -uroot -pпароль -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -uroot -pпароль $i > /var/backup/mysql/$i/`date +%Y-%m-%d`-$i; gzip /var/backup/mysql/$i/`date +%Y-%m-%d`-$i;done
grep -v
- исключает из массива команда $$ echo "true" || echo "false"
service httpd status | grep "running" || service httpd restart
find /etc/nginx -type f -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah
find -
искать в каталоге-type f
только имена файлов-exec
выполнить команду с найденым файломgrep -l
- не выводить сам греп а выводить имя файла в котором он нашел {}
- то что на выводе у find \;
- просто заканчиваем файнд|
- вывод передаем следующей командеxargs ls -lah
xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш find /tmp/you_papka -type d -exec chmod 755 {} ;\
- выставить права на все каталогиfind /tmp/you_papka -type f -exec chmod 644 {} ;\
- выставить права на все файлы в этой папке и нижеchmod -R root:root /tmp/you_papka
- владелец root группа root на все что в этой папке (опасная команда вводить только с полным путем иначе есть вариант снести права всей системы ооочень быстро работает. find /var/www/ -type f -exec mv {} {}_renamed \;
find
-рекурсивный поиск от заданного каталога и ниже/var/www
- где искать, если в текущем каталоге то можно заменить на .-type f
- только файлы-exec
выполнить с найденнымmv
переместить{}
то что найдено в данном случае имя файла \;
- просто закончит команду.find /var/www/ -type f -exec echo {} {}_renamed \;
man ls
ls --help