Восстановление удаленных разделов. Testdisk.

Ковыряясь с созданием мультизагрузочной флешки, я таки удалил все данные с моего карманного жесткого диска. И снова судорожные поиски программ по восстановлению, снова нулевой результат…. Там же было 200Гб нужной информации, Карл! Но постойте! Была же программа, которая выручала меня не один раз, со сто процентным результатом. Да, вот она — testdisk.

Грузимся с диска или флешки. Далее по пунктам:

1. Выбираем диск, жмем Proceed
2. Выбираем тип файловой системы. Если раздел Windows, выбираем Intel
3. Нажимаем Analyze для анализа жёсткого диска
4а. Жмём Quick Search
4б. Если при быстром поиске ничего не найдено, выбираем Deep Search
5. И вот он нашел удаленный раздел. Клавишами <> на клавиатуре надо выбрать тип раздела — Primary, Logical итд.
Клавишей P, можно посмотреть файлы в найденных разделах.
Enter
6. В следующем окне жмем write. Потом YES. Выходим из программы Q

После перезагрузки, все файлы на диске отображаются как и прежде.
При случайном или аварийном удалении, восстановить фалы и разделы можно только если на диск ничего не записывалось поверх. Т.е. после удаления, нужно отключить диск от компьютера и начать восстановление.

Настройка cron на openWRT

Настройка

Для выполнения заданий нужно создать файл:

1
# touch /etc/crontabs/root
# touch /etc/crontabs/root

Создаём символическую ссылку на файл crontab:

1
# ln -sf /etc/crontabs/root /etc/crontab
# ln -sf /etc/crontabs/root /etc/crontab

это позволит ссылаться на crontab используя /etc/crontab.

Стартуем сервис и включаем автозагрузку

1
2
# /etc/init.d/cron start
# /etc/init.d/cron enable
# /etc/init.d/cron start
# /etc/init.d/cron enable

Проверяем успешный запуск крона в системном логе:

1
# logread
# logread

В последней строке должно быть что то вроде:

1
Oct 14 09:07:57 gate cron.info crond[7727]: crond: crond (busybox 1.19.4) started, log level 8
Oct 14 09:07:57 gate cron.info crond[7727]: crond: crond (busybox 1.19.4) started, log level 8

Использование

Теперь, когда вы cron настроен и работает, можно запускать любые задачи по расписанию. Просто добавьте запись в /etc/crontabs/root.

Например, если нужно перезапустить wifi интерфейс(radio0) ежедневно в 06:30, добавляем в кронтаб:

1
30 06 * * * wifi restart
30 06 * * * wifi restart

или указываем путь к своему скрипту.

Перезагружаем сервис для сохранения изменений:

1
# /etc/init.d/cron restart
# /etc/init.d/cron restart

Скрипт проверки свободного места с оповещением по e-mail

Скрипт проверяет остаток места по указанному лимиту и отсылает на почту предупреждение

1
2
3
4
5
6
7
8
9
10
#выводим остаток места тома
space=`df -h | grep /dev/vda | awk ' {print $4} ' | sed 's/G//'`
#лимит в Gb
limit=1
#проверяем остаток к лимиту
if (( $(bc <<< "$space <= $limit") == 1 ))
#шлем e-mail если меньше
then
echo "Warning! Disk Space is full. Avalible space $space Gb" | mail -s "Disk notification" you@email.ru
fi
#выводим остаток места тома
space=`df -h | grep /dev/vda | awk ' {print $4} ' | sed 's/G//'`
#лимит в Gb
limit=1
#проверяем остаток к лимиту
if (( $(bc <<< "$space <= $limit") == 1 ))
#шлем e-mail если меньше
then
echo "Warning! Disk Space is full. Avalible space $space Gb" | mail -s "Disk notification" you@email.ru
fi

Запускаем в cron по необходимости. /dev/vda и you@email.ru меняем на свои.

Квоты на CentOS и Vesta

Для включения квот

1
 sudo /usr/local/vesta/bin/v-add-sys-quota
 sudo /usr/local/vesta/bin/v-add-sys-quota

Для автоматического обновления квот скрипт для запуска в cron:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
# info: update user statistics
# options: USER
#
# Function logs user parameters into statistics database.
 
 
#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#
 
# Argument defenition
user=$1
 
# Importing system enviroment  as we run this script
#       mostly by cron wich not read it by itself
source /etc/profile
 
# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/conf/vesta.conf
 
 
#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#
 
# Creating user_list
if [ -z "$user" ]; then
    user_list=$(ls $VESTA/data/users)
else
    user_list="$user"
fi
 
# Updating sys quotas
for user in $user_list; do
    QUOTA_UPDATE=$VESTA/bin/v-update-user-quota
    sudo ${QUOTA_UPDATE} $user
done
 
exit
#!/bin/bash
# info: update user statistics
# options: USER
#
# Function logs user parameters into statistics database.


#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#

# Argument defenition
user=$1

# Importing system enviroment  as we run this script
#       mostly by cron wich not read it by itself
source /etc/profile

# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/conf/vesta.conf


#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

# Creating user_list
if [ -z "$user" ]; then
    user_list=$(ls $VESTA/data/users)
else
    user_list="$user"
fi

# Updating sys quotas
for user in $user_list; do
    QUOTA_UPDATE=$VESTA/bin/v-update-user-quota
    sudo ${QUOTA_UPDATE} $user
done

exit

Вторая жизнь dlink dir-330 в образе WL500gp v2

Давным давно этот роутер трудился у меня дома, но не на родной прошивке -DD-WRT. Прекрасно поднимал соединение VPN к местному провайдеру со сносным Аптаймом. В общем особо не докучал))

Как то он упал раз и навсегда и был заменен новым TPLink-ом и заброшен в тумбочку. Но кризис заставляем чесаться руки(с)!)

Я достал его из ящика и долго пытался понять, почему он не работает. Перепаивал конденсаторы. Оказалось все дело в усохшем БП!!)))

Читать далее

Альтернатива Connectify, Виртуальный wi-fi win7

После мытарства с Connectify, хотелось более изящного способа получения вайфая с настольного компьютера. Как оказалось, начиная с windows 7 есть встоенный сервис по названием hostednetwork.

1
netsh wlan set hostednetwork mode=allow ssid="MS Virtual WiFi" key="Pass for virtual wifi" keyUsage=persistent
netsh wlan set hostednetwork mode=allow ssid="MS Virtual WiFi" key="Pass for virtual wifi" keyUsage=persistent

Прописываем свой ssid и пароль

И запускаем размещенную сеть

1
 netsh wlan show hostednetwork 
 netsh wlan show hostednetwork 

При перезагрузке, придется запускать каждый раз, так что можно создать батник. Запускать нужно с админскими правами.

Для расшаривания интернета в беспроводную сеть, нужно зайти в свойства соединения(с которого поступает инет), на вкладке «доступ» поставить галку «разрешить другим пользователям сети использовать подключение к интернету данного компьютера» и выбрать беспроводное подключение размещенной сети.

Centos монтирование webdav на примере 4shared

Сначала надо установить пакет libproxy:

для x64

1
 yum install libproxy.x86_64
 yum install libproxy.x86_64

для i686

1
 yum install libproxy.i686
 yum install libproxy.i686

Далее скачаем rpm davfs2 и связанные пакеты:

для  x64:

1
2
3
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.x86_64.rpm
wget ftp://dropbox.cloudlinux.com/pub/psbm/6.4/os/x86_64/RPMS/neon-0.29.3-2.el6.x86_64.rpm
wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.2/x86_64/os/Packages/pakchois-0.4-3.2.el6.x86_64.rpm
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.x86_64.rpm
wget ftp://dropbox.cloudlinux.com/pub/psbm/6.4/os/x86_64/RPMS/neon-0.29.3-2.el6.x86_64.rpm
wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.2/x86_64/os/Packages/pakchois-0.4-3.2.el6.x86_64.rpm

для i686

1
2
3
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
wget ftp.scientificlinux.org/linux/scientific/6.4/x86_64/os/Packages/neon-0.29.3-2.el6.i686.rpm
wget http://mirror.centos.org/centos/6/os/i386/Packages/pakchois-0.4-3.2.el6.i686.rpm
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
wget ftp.scientificlinux.org/linux/scientific/6.4/x86_64/os/Packages/neon-0.29.3-2.el6.i686.rpm
wget http://mirror.centos.org/centos/6/os/i386/Packages/pakchois-0.4-3.2.el6.i686.rpm

Install:

для x64

1
 rpm -i davfs2-1.4.6-1.el6.rf.x86_64.rpm neon-0.29.3-2.el6.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm
 rpm -i davfs2-1.4.6-1.el6.rf.x86_64.rpm neon-0.29.3-2.el6.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm

для i686

1
rpm -i davfs2-1.4.6-1.el6.rf.i686.rpm neon-0.29.3-2.el6.i686.rpm pakchois-0.4-3.2.el6.i686.rpmwget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
rpm -i davfs2-1.4.6-1.el6.rf.i686.rpm neon-0.29.3-2.el6.i686.rpm pakchois-0.4-3.2.el6.i686.rpmwget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm

Создаем точку монтирования:

1
mkdir /mnt/4shared
mkdir /mnt/4shared

Монтируем диск

1
2
3
4
5
6
7
mount -t davfs https://webdav.4shared.com /mnt/4shared/
Please enter the username to authenticate with server
https://webdav.4shared.com  or hit enter for none.
Username: username@mail.com
Please enter the password to authenticate user username  with server
https://webdav.4shared.com  or hit enter for none.
Password:
mount -t davfs https://webdav.4shared.com /mnt/4shared/
Please enter the username to authenticate with server
https://webdav.4shared.com  or hit enter for none.
Username: username@mail.com
Please enter the password to authenticate user username  with server
https://webdav.4shared.com  or hit enter for none.
Password:

!при этом в качестве логина используем адрес почты при регистрации, а не просто логин!

Сохраняем пароль

чтобы не набирать его каждый раз, в файле 

1
vi /etc/davfs2/secrets
vi /etc/davfs2/secrets

просываем пароль в виде «точка монтирования пользователь пароль» 

1
/mnt/4shared username pass
/mnt/4shared username pass

 

Error: Problem communicating with Copy cloud.

За лето товарищи поменяли агент, и начала выскакивать ошибка, при попытки залить на облако что либо.

Удаляем старый клиент

1
2
cd /tmp
rm Copy.tgz
cd /tmp
rm Copy.tgz

Скачиваем свежий и распаковываем

1
2
 wget https://copy.com/install/linux/Copy.tgz
tar -xvf Copy.tgz
 wget https://copy.com/install/linux/Copy.tgz
tar -xvf Copy.tgz

Изменение порта ssh CentOS

1
vi /etc/ssh/sshd_config
vi /etc/ssh/sshd_config

Найти строку Port 22, если закоментирована, убрать комент и поменять на нужный порт

Не забыть поменять порт в фаерволе

Перезапускаем ssh

1
/etc/init.d/sshd restart
/etc/init.d/sshd restart

Проверка

1
netstat -anp | grep ssh
netstat -anp | grep ssh

Переключение раскладки LXDE

1
sudo gedit /etc/xdg/lxsession/LXDE/autostart
sudo gedit /etc/xdg/lxsession/LXDE/autostart

Пишем в конец

1
@setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru
@setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru

Save!