PostgreSQL
coub
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
powershell
python
ubuntu
vim
virtualbox
анекдот
блог
игры
интересно
стихи
цитаты
UBUNTU: изменить системное время из консоли
October 15, 2009
Проще простого как-будто.
sudo date mmddHHMMYYyy
mm - месяц
dd - день
HH - час
MM - минуты
YYyy - год
Например:
sudo date 101518002009
это 15 октября 18:00 2009 года
Есть возможность изменить только текущее время
sudo date -s 17:00
bash-скрипт для резервирования данных
September 01, 2009
Писался на коленке при помощи гугла. Цель была зарезервировать список папок и список БД mysql с одного хоста.
#!/bin/bash
##################### config
dirs_to_save="/home/ci1.loc /home/smarty /home/TTT"
my_dir_for_backups="/home/captain/backups"
mysql_databases_to_save="content mysql test"
mysql_user_name="root"
##################### /config
target_dir=`date +%F`
backup_dir="$my_dir_for_backups/$target_dir/"
echo "
-------------------------------------------------------------------
ijin reserv_copy script v.1.1 | Wed 02 Sep 2009 02:53:30 PM MSD
hello at: "`date`"
i'll save dump to: "$backup_dir"
-------------------------------------------------------------------
"
# create dir for current dump
mkdir -p $backup_dir
echo "dumping directories:
--------------------"
# pack all src dirs
for cur_dir in $dirs_to_save; do
dst_file=${cur_dir//\//-} # change slashes to -
dst_file=$backup_dir${dst_file/-/}".tar.gz" # remove first - and create full dst file name
echo $cur_dir" -> "$dst_file
tar -czf $dst_file $cur_dir &> /dev/null # no output from tar
done
read -s -p "
enter pass for mysql please: " MYSQL_PASS
echo "
dumping databases:
------------------"
# pack all src databases
for cur_db in $mysql_databases_to_save; do
dst_file=$backup_dir$cur_db".sql"
echo $cur_db" -> "$dst_file
mysqldump -u $mysql_user_name --password=$MYSQL_PASS $cur_db > $dst_file 2> /dev/null ### hide error messages
if [ $? != 0 ] ### result of execution of mysqldump
then
echo "=> WARNING: can't dump database. Check login:pass and privileges."
unlink $dst_file
else
echo "=> OK: "$cur_db" dumped ok. I'll gzip it now.."
gzip $dst_file
fi
done
echo "
-------------------------------------------------------------------
all done.
bye at: "`date`"
"
sleep 1
Естественно прав на папки и базы у пользователей должно хватать. Вывод будет примерно такой:
Рекурсивный chmod только для папок (или только для файлов)
August 26, 2009
Как? Погуглив... Нашел. Оказалось совсем несложно, как обычно..
# для директорий используем -type dХороший человек объяснил подробности. ";" - терминатор екзека и шелла одновременно, поэтому его в шелле надо заэксейпить. Ну а "{}" результат файнда построчно.
cd /home/target_dir
find . -type d -exec chmod 755 {} \;
# для файлов -type f
cd /home/target_dir
find . -type f -exec chmod 644 {} \;
# по маске имени с параметром -name
cd /home/target_dir
find . -type f -name '*.htm*' -exec chmod 644 {} \;
# для наглядности можно выполнить
find /home/target_dir/ -type f -name '*.php' -exec echo '-- '{} \;
Как посчитать количество строк в файле?
July 23, 2009
Для примера посчитаем файлы и папки в каталоге:
ls -1 /home | wc -l cat 123.txt | wc -l
LINUX: смотрим большой вывод в консоли постранично
July 19, 2009
Например надо постранично посмотреть вывод той же самой du. Как? less
cd / sudo du -h | lessКстати, посмотреть общий размер каталога в линукс можно вот так du -hs /home/myhome