Rose debug info
---------------

Блог об администрировании Linux, BSD и не только.

Позднее Ctrl + ↑

Перенос FreeBSD на другой жесткий диск с помощью clonehdd.

В моей домашней файлопомойке-торрентокачалке в один прекрасный день smartctl показал, что диск «помирает». Соответственно диск пришлось менять. А т.к raid’а там нет, то вариантов было 2: либо полностью устанавливать и настраивать систему на новом диске, либо каким-то образом попытаться перенести ОС с неисправного диска на новый. Естественно я стал искать решения по второму варианту, т.к настраивать все заново мне не хотелось.
Для переноса я использовал утилиту clonehdd, огромным плюсом этой утилиты является, то что она может перенести полностью установленную freebsd даже на диск другого размера. Для меня это было критично, т.к для замены в «закромах» мной был найден диск меньшего размера, чем стоял изначально. Т.к изначально скриншоты я не делал, скриншоты для статьи пришлось делать в виртуалке.
Установим clonehdd. Утилита есть в портах, установим

# whereis clonehdd
clonehdd: /usr/ports/sysutils/clonehdd
# cd /usr/ports/sysutils/clonehdd
# make install clean

Или устанавливаем из пакетов
Для старых версий freebsd:

# pkg_add -r clonehdd

Для новых версий:

# pkg install clonehdd

Затем выключаем тачку, подключаем новый диск и загружаемся. Теперь у нас подключено 2 диска:

ada0 - диск с системой
ada1 - новый диск на который нужно перенести нашу ОС

Перенести все довольно просто одной командой. Правда процесс довольно длительный(у меня он занял около 12 часов) и если работа ведется по ssh, то запускать лучше в screen. Запустим клонирование диска:

# clonehdd -src=ada0 -dst=ada1 -swap=1024 -force
-src - исходный диск
-dst - новый диск
-swap - сколько места выделить под своп
-force - не задавать лишних вопросов

Дожидаемся окончания клонирования, затем отсоединяем старый диск и подсоединяем его на его место новый и пробуем загрузится.
У меня все сразу загрузилось с нового диска без лишних телодвижений. А из старого диска я достал себе прикольный неодимовый магнит, больше он ни на что был не пригоден.

P.S.: Если впоследствии новый диск также выйдет из строя и потребуется снова переносить ОС на другой диск, то удалите в корне файл backup-mode. Иначе clonehdd будет завершаться с сообщением «You are working from backup device. Please stop clone script usage!!!» и ОС перенесена не будет.

Мониторинг нагрузки на сервер утилитой atop.

Самой удобной утилитой мониторинга нагрузки на сервере, на мой взгляд, является atop. Огромным плюсом данной утилиты является постоянное ведение логов нагрузки на сервер, это удобно т.к проблемы обычно происходят когда мы не следим за сервером прямо сейчас. А с atop можно отмотать «время назад» и посмотреть нагрузку на сервер в момент проблемы. Данная утилита есть во всех дистрибутивах линукс, также она присутствует во FreeBSD.
Рассмотрим установку утилиты для Ubuntu/Debian, Cenos и FreeBSD.

Ubuntu/Debian:

# apt-get install atop -y

Centos:

# yum install atop -y

FreeBSD:
Определяем местонахождение порта:

# whereis atop
atop: /usr/ports/sysutils/atop

Переходим в каталог

# cd  /usr/ports/sysutils/atop

И устанавливаем порт

# make install clean

После установки мы можем запустить утилиту:

# atop

После запуска мы увидим окно типа такого:

Дожидаемся когда посередине исчезнет надпись
*** system and process activity since boot ***

теперь мы можем видеть нагрузку на сервер в реальном времени. Сверху мы видим нагрузку в процентах на основные узлы сервера: процессор, ядра процессора, память, своп, дисковые устройства и сетевые интерфейсы. Если на какой-либо узел будет повышенная нагрузка, то он будет подсвечен красным цветом.

Снизу мы видим процессы с PID’ами, пользователями которым они принадлежат и данными нагрузки которые они создают. Если на какую-либо подсистему сервера идет повышенная нагрузка и нам нужно узнать какой процесс её создает, то мы можем сортировать эти процессы по нагрузке на определенный узел нажатием определенных клавиш.

m - сортировать по занимаемой памяти
d - сортировать по создаваемой нагрузке на диск
u - покажет таблицу нагрузки по пользователям
v - покажет подробную информацию по процессам
g - вернет вывод по умолчанию
n - сортировать процессы по нагрузке на сеть(доступно только с установленным патчем ядра)

Теперь разберёмся как смотреть логи atop. Тут все достаточно просто. Для просмотра лога за текущий день достаточно выполнить

# atop -r

Мы увидим обычное окно atop, как и при просмотре в реальном времени, только по состоянию на 00 часов 00 минут текущего дня. Время можно увидеть в верхней строке. Переместится вперед по времени можно с помощью клавиши t. Назад с помощью shift+t.
Сразу перейти на нужное время можно нажав -b, и в появившемся диалоге ввести нужное время.
Также хранятся логи нагрузки за предыдущие дни. В Ubuntu 14.04 они лежат в каталоге /var/log/atop/. Открыть можно примерно так.

# atop -r /var/log/atop/atop_20140915

Цифры в названии файла обозначают дату в формате ГГГГММДД.

Отправка почты с сайта через smtp.yandex.ru на своём домене.(Иcправление)

С 16 сентября 2014 года Яндекс.Почта полностью перешла на протокол SSL. При передаче данных по IMAP/POP3/SMTP сервис требует шифрование по SSL, соответственно статья Отправка почты с сайта через smtp.yandex.ru на своём домене. потеляла свою актуальность. Сервисы настроенные с конфигом как в статье по ссылке больше не работают. При попытке отправки почты выдается ошибка типа

# send-mail: Server didn't like our AUTH LOGIN (530 5.7.7 Email sending without SSL/TLS encryption is not allowed.
Please see: http://help.yandex.ru/mail/mail-clients/ssl.xml)

Чтобы исправить эту проблему нужно изменить конфиг /etc/ssmtp/ssmtp.conf
Правильный конфиг теперь выглядит так:

mailhub=smtp.yandex.ru:465  #адрес и порт smtp сервера яндекса
AuthUser=post@anikin.pw  #ящик с которого будем отправлять
AuthPass=pAssw0rd #пароль к ящику
rewriteDomain=anikin.pw #принудительное указание домена в поле From
hostname=anikin.pw #hostname тачки
UseTLS=YES #Использование шифрования SSL/TLS
FromLineOverride=NO #Запрещает скриптам «решать» с какого ящика отправлять письмо.
Root=admin@anikin.pw #ящик куда будет отправляться почта предназначенная root

Замена диска в програмном RAID1 в Linux

Оглавление:

    I. Удаление диска из массива
    II. Добавление диска в массив после замены
     1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск
     2. Добавление диска в массив
    III. Установка загрузчика

У нас есть сервер в котором 2 диска: /dev/sda и /dev/sdb. Эти диски собраны у нас в софтверный RAID1 с помощью mdadm. Один из дисков вышел из строя, в нашем случае это /dev/sdb.

I. Удаление диска из массива

Перед заменой диска желательно убрать диск из массива. Для начала проверим как размечен диск в массиве:

# cat /proc/mdstat 
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] 
md2 : active raid1 sda4[0] sdb4[1]
      1456504640 blocks super 1.2 [2/2] [UU]
      
md1 : active raid1 sda3[0] sdb3[1]
      7996352 blocks super 1.2 [2/2] [UU]
      
md0 : active raid1 sda2[0] sdb2[1]
      499392 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

В данном случае массив собран так. Что md0 состоит из sda2 и sdb2, md1 из sda3 и sdb3, md2 из sda4 и sdb4. На этом сервере md0 это /boot, md1 — своп, md2 — корень. Убираем sdb из всех устройств.

# mdadm /dev/md0 --remove /dev/sdb2
# mdadm /dev/md1 --remove /dev/sdb3
# mdadm /dev/md2 --remove /dev/sdb4

Если разделы из массива не удаляются, это как в нашем случае. Mdadm не считает диск неисправным и использует его, и при удалении мы увидим ошибку, что устройство используется. В этом случае перед удалением помечаем диск как сбойный.

# mdadm /dev/md0 -f /dev/sdb2
# mdadm /dev/md1 -f /dev/sdb3
# mdadm /dev/md2 -f /dev/sdb4

А затем снова выполним команды по удалению разделов из массива. Все, мы удалили сбойный диск из массива. Теперь можем писать в датацентр запрос на замену диска.

II. Добавление диска в массив после замены

  1. Определение таблицы разделов(GPT или MBR) и перенос её на новый диск

После замены поврежденного диска нужно добавить новый диск в массив. Для этого надо определить какая у нас таблица разделов: GPT или MBR. Для этого будем использовать gdisk Установим gdisk:

# apt-get install gdisk -y

Выполняем:

# gdisk -l /dev/sda

Где /dev/sda — исправный диск находящийся в raid. В выводе будет примерно это для MBR:

Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present

И примерно это для GPT:

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Перед добавлением диска в массив нам нужно на нем создать разделы в точности такие же как и  на sda. В зависимости от разметки диска это делается по разному.

Копирование разметки для GPT:

# sgdisk -R /dev/sdb /dev/sda

Здесь надо быть внимательным. Первым пишется диск на который копируется разметка, а вторым с которого копируют. Если перепутать их местами, то разметка на изначально исправном диске будет уничтожена.
Даем диску новый случайный UIDD:

# sgdisk -G /dev/sdb

Копирование разметки для MBR:

# sfdisk -d /dev/sda | sfdisk /dev/sdb

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

# sfdisk -R /dev/sdb

  2. Добавление диска в массив

Когда мы создали разделы на /dev/sdb, то можно добавлять диск в массив.

# mdadm /dev/md0 -a /dev/sdb2
# mdadm /dev/md1 -a /dev/sdb3
# mdadm /dev/md2 -a /dev/sdb4

III. Установка загрузчика

После добавления диска в массив нужно установить на него загрузчик. Если сервер загружен в нормальном режиме, то это делается одной командой:

# grub-install /dev/sdb

Если сервер загружен в recovery или rescue, т.е с live cd, то установка загрузчика выглядит следующим образом.
Монтируем корневую файловую систему в  /mnt:

# mount /dev/md2 /mnt

Монтируем boot:

# mount /dev/md0 /mnt/boot

Монтируем /dev, /proc и /sys:

# mount --bind /dev /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys  /mnt/sys

Затем делаем chroot в примонтированную систему:

# chroot /mnt

И устанавливаем grub на sdb:

# grub-install /dev/sdb

Теперь можно попробовать загрузится в нормальный режим.

P.S. Если при установке загрузчика возникнет ошибка Could not find device for /boot/boot: not found or not a block device то вам сюда.

Включение server-status на apache2/httpd в ubuntu и centos

server-status это модуль веб-сервера, который может помочь установить какой из сайтов на сервере создает нагрузку или даже покажет на какой именно скрипт на сайте идет больше всего обращений. В общем это модуль который помогает в мониторинге состояния веб-сервера. Разберёмся как его установить.

В centos он обычно уже установлен. В ubuntu смотрим:

# ls /etc/apache2/mods-enabled



Если в выводе есть status.load и status.conf, то значит он тоже установлен. Если же нет, то выполняем:

# /usr/sbin/a2enmod status


Затем открываем конфигурационный файл веб-сервера, в centos — /etc/httpd/conf/httpd.conf, в ubuntu — /etc/apache2/apache2.conf. Добавляем туда:

ExtendedStatus On
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

Затем перезапускаем апач.

# service apache2 restart
  • в ubuntu
# service httpd restart
  • в centos

Устанавливаем:
В centos:

# yum install links elinks



В ubuntu:

# apt-get install links elinks


Теперь мы можем посмотреть server-status. Для этого выполняем:

# elinks http://localhost/server-status



Если апач у нас висит не на 80 порту, например когда фронтэндом установлен nginx, то в эту команду нужно добавить порт апача. Например так, для порта 81:

# elinks http://localhost:81/server-status

Шифрование данных в облаке с помощью encfs + cryptkeeper

В предыдущей статье я расказывал как установить облако mail.ru в ubuntu. Теперь стоит рассказать о шифровании данных в облаках, т.к у многих пользователей есть такие данные которые нельзя выкладывать в общий доступ(файлы с паролями, личные записи, проекты и т. д.). Но для этих данных так же хотелось бы пользоваться преимуществами облака. Для этих целей я использую encfs и gui для неё cryptkeeper. Преимущество encfs для облаков в том что она не создает криптоконтейнер, а шифрует каждый файл по отдельности. Т.е при изменении одного файла не придётся перезаливать все зашифрованные данные. Ниже я кратко расскажу про установку.

$ sudo apt-get install encfs cryptkeeper

Затем создаем папку в облаке, которая будет зашифрована.

$ mkdir /home/user/cloud/encfs

И папку за пределами облака, в которую будет монтироваться наша зашифрованая папка.

$ mkdir /home/user/data

Затем создаем зашифрованную папку /home/user/cloud/encfs с точкой монтирования /home/user/data.

$ encfs /home/user/cloud/encfs /home/user/data

Пароль запомните, т.к в случае если вы забудете пароль данные будут утеряны.
Теперь отмонтируем зашифрованный каталог.
$ fusermount -u /home/user/data

Запускаем cryptkeeper, кликаем на значок в трее и выбираем «Импорт папки EncFS».

Выбираем нашу зашифрованную папку и папку в которую её смонтировать.

Теперь мы можем монтировать наш зашифрованный каталог через иконку cryptkeeper в трее.

После правильного ввода пароля, каталог будет смонтирован. Теперь cryptkeeper можно добавить в автозагрузку так же как приложение «Облако mail.ru» в предыдущей статье, чтобы при каждой загрузке не запускать его из меню dash. Если иконки в трее не появляются, там же есть комментарий как это починить.

Облако mail.ru как альтернатива ubuntu one.

Теперь mail.ru предоставляет установочные пакеты под разные дистрибутивы. Правильный процесс установки описан здесь.

Как недавно стало известно canonical закрывает свой облачный сервис ubuntu one, поэтому мне пришлось искать альтернативу их облаку. Когда mail.ru раздавали терабайт в своем облаке, я его взял но не использовал. Но раз уж такое дело, то решил попробовать интегрировать его в ubuntu в качестве альтернативы ubuntu one. Как я это делал я расскажу ниже.

Для начала установим сам клиент. На странице https://cloud.mail.ru/home/ скачиваем клиент.
Кликаем «Скачай приложение для компьютера». И в открывшемся окне выбираем «Linux amd64» или «Linux i386» в зависимости от вашей архитектуры.

Чтобы после установки облака в системном трее появился значок для управления облаком в терминале выполним следующие команды:
$ sudo add-apt-repository ppa:timekiller/unity-systrayfix
$ sudo apt-get update
$ sudo apt-get upgrade
$ gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

Если у вас ubuntu 14.04, то вместо предыдущих команд выполняем:

$ sudo apt-add-repository ppa:gurqn/systray-trusty
$ sudo apt-get update
$ sudo apt-get upgrade

Затем скопируем приложение в /usr/bin и сделаем его исполняемым

$ sudo cp ~/Загрузки/cloud /usr/bin/
$ sudo chmod +x /usr/bin/cloud

Затем нам нужно создать пункт в меню dash. Создаем файл

$ sudo nano /usr/share/applications/cloud.desktop

С текстом

[Desktop Entry]
Name=Cloud Mail
Comment=
Exec=cloud
Icon=/usr/share/icons/Humanity-Dark/status/48/weather-snow.svg
MimeType=
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;
Теперь нам нужно добавить облако в автозагрузку, чтобы не тыкать каждый раз приложение в меню dash. Находим в dash пункт «Автоматически загружаемые приложения».

И добавляем туда облако примерно так

Если у вас не толстый канал интернета, то есть небольшая утилита trickle. Она позволяет ограничить канал интернета приложению облако, чтобы вы могли комфортно пользоваться интернетом, когда облако загружает данные. Установить её просто

$ sudo apt-get install trickle

Теперь в «Автоматически загружаемые приложения» пропишем команду вместо /usr/bin/cloud

$ /usr/bin/trickle -d 300 -u 150 /usr/bin/cloud

Где 300 и 150 скорость в килобайтах в секунду закачки и отдачи соответственно. Эту же команду пропишем в файле /usr/share/applications/cloud.desktop в строке Exec=, чтобы из меню dash облако так же запускалось с ограничением скорости. Теперь, когда мы всё настроили либо перезагружаемся либо перелогиниваемся, чтобы применились все изменения и добавился пункт в меню dash. Приложение должно запустится автоматически при загрузке.

Вводим свой логин и пароль к mail.ru. И система спросит какую папку синхронизировать.

После запуска, в трее в правом верхнем углу появится значок в котором можно посмотреть статус синхронизации, приостановить/запустить синхронизации и провести другие настройки.

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

P.S. Теперь mail.ru предоставляет установочные пакеты под разные дистрибутивы. Правильный процесс установки описан здесь.

Бесплатный аналог dyndns и no-ip используя Яндекс DNS.

Статья более не актуальна. Яндекс всех поголовно переводит на Яндекс.Коннект. В API Коннекта на данный момент отсутствует возможность управлять DNS-записями. API pdd.yandex уже не работает.
Можно использовать api Telegram для получения динамических ip. Инструкция здесь.

Я давно пользовался услугами dyndns для подключения из вне к домашней файлопомойке-торрентокачалке на фряхе, у которой динамический ip от провайдера. Хотя уже давно у dyndns эта услуга платная для вновь зарегистрировавшихся пользователей, но я пользовался бесплатно, т.к зарегистрировался ещё до того как они стали за это просить денег. Но на днях мне пришло письмо что они не могут больше предоставлять эту услугу мне бесплатно и со следующего месяца я должен буду за неё платить. Меня это не устроило и я стал искать выход из текущего положения.

Т. к. домены у меня делегированы на Яндекс DNS я стал читать мануалы для их API и выход был найден. Расскажу о нём ниже.

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

https://pddimp.yandex.ru/get_token.xml?domain_name=domen.ru

Где domen.ru — ваш домен делегированный на яндекс. Вводим капчу и в выводе ищем:

token="XXXXXX"

В кавычках будет ваш токен. Копируем его куда-нибудь, он нам потребуется чуть позже.
Теперь нам нужно добавить к нашему домену сабдомен, который будет ссылаться на машину с динамическим ip. Переходим на https://pdd.yandex.ru, выбираем домен и кликаем «Редактор DNS» там добавляем А-запись для домена:

В поле «Хост» вводите сабдомен, а в поле «Значение записи» пишете любой ip(в последствии он будет меняться, когда будет изменятся ip вашей тачки).

Теперь нам нужно получить id нашей записи. Для этого в браузере вводим:

https://pddimp.yandex.ru/nsapi/get_domain_records.xml?token=XXXXXX&domain=domen.ru

Где ХХХХХХ-ваш токен, а domen.ru — ваш домен делегированный на яндекс.

В выводе ищем строку с нашей записью myhome.domen.ru и в этой строке находим:

id="1234567"

В кавычках id записи, так же копируем его куда-нибудь.

Теперь пишем скрипт на тачке на которой динамический ip. Скрипт будет проверять внешний ip тачки раз в пол часа и если он изменился, то будет изменять А-запись на Яндекс DNS.

# ee /usr/local/bin/dyndns.sh

Содержание скрипта:

#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH
DOMEN="domen.ru" # ваш домен делегированный на яндекс
SUB=myhome # сабдомен
TOKEN=XXXXXX # токен
RECID=1234567 # id записи
while true; do
IP='curl -s http://ip.anikin.pw/'
YAIP=`host myhome.domen.ru dns1.yandex.ru | grep has | awk '{print $4}'` # замените myhome.domen.ru на ваш сабдомен
if [ $IP != $YAIP ]
then
curl -s "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=$TOKEN&domain=$DOMEN&subdomain=$SUB&record_id=$RECID&content=$IP&ttl=1800"
fi
sleep 1800; done;

Значения переменных измените в соответствии с комментариями.

Делаем скрипт исполняемым:

# chmod +x /usr/local/bin/dyndns.sh

И добавляем соответствующую запись в крон:

# crontab -e

@reboot /usr/local/bin/dyndns.sh

Всё, теперь после перезагрузки скрипт будет автоматически запускаться. Перезагружаемся или запускаем скрипт вручную и проверяем на https://pdd.yandex.ru изменилось ли значение записи для нашего сабдомена.

P.S. Чтобы было совсем все бесплатно, можно не покупать домен а использовать бесплатный домен в зоне .tk. Получить его можно на сайте www.dot.tk

Простейший скрипт для бекапа сайта.

Простейший скрипт для бекапа сайта на ftp по крону. Пример для debian, но скрипт должен работать и на других дистрибутивах.

Всё что нужно для работы скрипта есть в базовой поставке большинства дистрибутивов. Нужно установить только wput. Установим его:

# apt-get install wput

Создаем скрипт:

# nano /usr/bin/backup.sh


Содержание скрипта(исправьте значения переменных в начале скрипта):

#!/bin/bash
sitedirectory=/var/www/site.ru # дирректория виртуального хоста без "/" в конце
mysqluser=muser # пользователь mysql
mysqlpasswd=mpasswd # пароль пользователя mysql
dbname=sitedb # название базы mysql
ftpuser=fuser # пользователь ftp на который складывать бекап
ftppasswd=fpasswd # пароль пользователя ftp
ftphost=10.0.0.1 # ip или домен ftp-сервера на который складывать бекап
/usr/bin/mysqldump -u $mysqluser -p$mysqlpasswd $dbname > $sitedirectory/$dbname.sql
Y=`date "+%Y"` 
M=`date "+%m"` 
D=`date "+%d"`
/bin/tar -czf /tmp/backup-$D-$M-$Y.tar.gz $sitedirectory
/usr/bin/wput --reupload /tmp/backup-$D-$M-$Y.tar.gz ftp://$ftpuser:$ftppasswd@$ftphost/backup/
/bin/rm -f /tmp/backup-$D-$M-$Y.tar.gz
/bin/rm -f $sitedirectory/$dbname.sql

Затем делаем скрипт исполняемым

# chmod +x /usr/bin/backup.sh


И добавляем его в крон:

# crontab -e

0 1 * * * /usr/bin/backup.sh


Архив с бекапом будет отправляться в час ночи, каждый день на указанный ftp.

Автоматическое монтирование webdav во FreeBSD.

Рассмотрим монтирование webdav во FreeBSD на примере яндекс диска.
Логинимся под рутом и собираем fusefs-wdfs из портов.

# cd /usr/ports/sysutils/fusefs-wdfs/</br>
# make install clean

Если получаем ошибку типа:

fusefs-kmod-0.3.9.p1.20080208_5 requires the userland sources to be installed. Set SRC_BASE if it is not in /usr/src.
*** Error code 1


То выполняем:

csup -g -L2 -h cvsup.freebsd.org /usr/share/examples/cvsup/stable-supfile


И затем запускаем сборку заново:

# make install clean

Также после этого мне пришлось отдельно пересобрать /usr/ports/sysutils/fusefs-kmod. Иначе получал ошибку отсутствия /usr/local/modules/fuse.ko при запуске fusefs.

kldload: can't load /usr/local/modules/fuse.ko: File exists


Если всё собралось нормально, то идём дальше.

Добавляем запись в rc.conf.

# echo 'fusefs_enable="YES"' >> /etc/rc.conf

Стартуем fusefs

# /usr/local/etc/rc.d/fusefs start

Далее создаем каталог для монтирования.

# mkdir /usr/home/user/yadisk

Создаем скрипт для монтирования при загрузке сервера.

# ee /usr/local/bin/yadisk.sh


Содержание скрипта:

#!/bin/sh
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin"
export PATH
/usr/local/bin/wdfs https://webdav.yandex.ru /usr/home/user/yadisk/ -o username=user@yandex.ru,password=pAssW0rd,allow_other

Добавляем скрипт в крон

# crontab -e

@reboot /usr/local/bin/yadisk.sh

Вот и всё. Можно вручную запустить скрипт и проверить его работоспособность, яндекс диск должен примонтироваться. После перезагрузки он примонтируется автоматически по крону.

Ранее Ctrl + ↓