*nix server cheats
Серверные скрипты и интересные команды
Добавляем юзера без шелла и возможности логинится:
adduser –home /home/dropbox –shell /bin/false –disabled-login dropbox
Скрипт отправки на почту писма с аттачем, для бэкапа
#!/bin/sh
db_user=«пользователь»
db_pass=«пароль»
db_name=«база»
email=«email@gmail.com»
mysqldump -u $db_user -p$db_pass -A > ./dump.sql
gzip -f ./dump.sql
mutt -s «dump — $(date +%d.%m.%Y)» -a ./dump.sql.gz $email < /dev/null
rm ./dump.sql.gz
echo «Ok»
db_user=«пользователь»
db_pass=«пароль»
db_name=«база»
email=«email@gmail.com»
mysqldump -u $db_user -p$db_pass -A > ./dump.sql
gzip -f ./dump.sql
mutt -s «dump — $(date +%d.%m.%Y)» -a ./dump.sql.gz $email < /dev/null
rm ./dump.sql.gz
echo «Ok»
Бекапим файл:
user@home$ ssh user@bla-bla.ru tar -czf — /папка_для_бекапа | dd of=/папка для бэкапов/`date «+%y-%m-%d»`.mysite.tgz
Бекапим базу:
mysqldump -h remotesite -u user -ppass my_bd | gzip > /backups/`date «+%y-%m-%d»`.sql.gz
Переводит русские имена файлов в транслит
#!/bin/sh
# this script has been written by Eddy
#
# rename_translit — переводит русские имена файлов в транслит
#
# Создан 22-го Май 2006 года в 9:24
#
for Name in `ls -1`
do
Newname=`echo «$Name»|sed -e \
«y/йукенгзхъфывапролдэсмитьбЙУКЕНГЗХЪФЫВАПРОЛДЭСМИТЬБ/jukengzh’fyvaproldesmit’bJUKENGZH’FYVAPROLDESMIT’B/»\
-e «s/ц/tz/g» \
-e «s/ш/sh/g» \
-e «s/щ/sch/g» \
-e «s/ж/zh/g» \
-e «s/ч/ch/g» \
-e «s/ю/yu/g» \
-e «s/я/ya/g» \
-e «s/Ц/TZ/g» \
-e «s/Ш/SH/g» \
-e «s/Щ/SCH/g» \
-e «s/Ж/ZH/g» \
-e «s/Ч/CH/g» \
-e «s/Ю/YU/g» \
-e «s/Я/YA/g»`
if [ "$Name" != "$Newname" ]; then
mv «$Name» «$Newname»
echo -e «$Name -> $Newname\r\c»
fi
if [ -d "$Newname" ]; then
cd «$Newname»
echo -e «\n\nDiving into $Newname»
rename_translit
cd ../
fi
done
# this script has been written by Eddy
#
# rename_translit — переводит русские имена файлов в транслит
#
# Создан 22-го Май 2006 года в 9:24
#
for Name in `ls -1`
do
Newname=`echo «$Name»|sed -e \
«y/йукенгзхъфывапролдэсмитьбЙУКЕНГЗХЪФЫВАПРОЛДЭСМИТЬБ/jukengzh’fyvaproldesmit’bJUKENGZH’FYVAPROLDESMIT’B/»\
-e «s/ц/tz/g» \
-e «s/ш/sh/g» \
-e «s/щ/sch/g» \
-e «s/ж/zh/g» \
-e «s/ч/ch/g» \
-e «s/ю/yu/g» \
-e «s/я/ya/g» \
-e «s/Ц/TZ/g» \
-e «s/Ш/SH/g» \
-e «s/Щ/SCH/g» \
-e «s/Ж/ZH/g» \
-e «s/Ч/CH/g» \
-e «s/Ю/YU/g» \
-e «s/Я/YA/g»`
if [ "$Name" != "$Newname" ]; then
mv «$Name» «$Newname»
echo -e «$Name -> $Newname\r\c»
fi
if [ -d "$Newname" ]; then
cd «$Newname»
echo -e «\n\nDiving into $Newname»
rename_translit
cd ../
fi
done
Ремонтируем локаль
sudo dpkg-reconfigure console-setup
Узнать версию сервера
Выполните команду
cat /etc/issue.net
или выполните команду
lsb_release -a