PostgreSQL coub express.js freeware git jquery laravel links linux macos mysql node.js php powershell python ubuntu vim virtualbox анекдот блог игры интересно стихи цитаты

На самом деле эта заметка почти никакого отношения к node.js не имеет, сам по себе такой перезапуск может быть чего угодно и вообще есть другие варианты, но я как совсем ленивый гражданин не мог не воспользоваться такой халявой.
Суть такая: есть приложение которое должно автоматом взлетать после перезагрузки и поскольку в некоторых случаях (весьма неприятных) проконтролировать перезагрузку невозможно, надо прописать это приложение где-то на автозапуск. Использовать для этой цели (оказывается!) можно тот самый crontab. Я вожусь с линуксом уже лет 6-7 и понятия не имел о такой замечательной возможности. Есть два момента
  1. Нужно выбрать cron того пользователя от которого должно заработать ваше приложение
  2. Нужно воспользоваться простой как двери в милиции инструкцией @reboot
Итак, идем редактировать crontab для выбраннорого пользователя так
crontab -e -u user_login
Теперь добавляем наше распоряжение на действия после перезагрузки, например так
@reboot sleep 20; /home/user_login/restart-app.sh
В примере через 20 секунд после перезагрузки будет запущен выбранный скрипт. И вся любовь. Задержка взята по причине того, что какие-то сервисы у меня не стартовали до запуска искомого приложения и оно валилось не находя нужной для себя фигни. С такой задержкой все взлетает на ура.


Картина маслом
ssh-add ~/.ssh/mykey_rsa
Could not open a connection to your authentication agent.
ЭЭ.. чего? Гуглим.. ок, нет агента, запускаем его.
eval $(ssh-agent -s)
Теперь ключ добавляется. Ладно вроде все окей. Только при следующем коннекте опять та же канитель!! То есть отключился от сервера, зашел под тем же логином и опять 25. Ровно тот же самый вопрос. При этом
ps axu | grep ssh
.. говорит что да-да, ssh-agent запущен и все круто. Но при следующем коннекте мы его не видим все рано. Во дела. Как быть-то..

Я знатно попарился разыскивая решение, но оно тупое как.. В общем убиваем агент, он не нужен будет
killall ssh-agent
Теперь делаем так
cd ~/.ssh/
touch config
echo IdentityFile ~/.ssh/mykey_rsa >> ./config
И таки все начинает работать, при условии что ключ сгенерен без парольной защиты, иначе будет трэбовать пароль после каждого нового логина и придется приплясывать снова ещё и с этим. Мне это надо было для автоматизации обновлений через баш-скриптик одной штуки, то есть зашел-запустил-вышел, минимум движений. Буду признателен за решение лучше.

Решение нашел тут.


Поскольку с регистрами я до сих пор не разобрался, забываю эту ерунду постоянно. В визуальном режиме выбираем область для копирования и выполняем команду ниже
"+y
# для копирования в консоль под линукс, почему-то работает этот регистр
"*y
На эту тему есть небольшой скринкаст.
vim


Оказывается можно не приплясывать каждый раз с консолью типа
killall Finder
Есть способ значительно более человечный. Зажимаем на клавиатуре Option (оно же alt) и кликаем правой кнопкой мыши по иконке Finder в доке. В меню увидим дополнительный пункт "Перезапустить". Просто как двери в милиции.


Первоисточник: osxdaily.com


В общем это практически так же как и в linux
1. Втыкаем флешку и смотрим из консоли diskutil list
Вот так это выглядит у меня на машине
$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            CDROM                  *4.0 GB     disk1
2. Размонтируем флешку diskutil unmountDisk /dev/disk1
После этого флешка будет видна в через diskutil list но в файндере отключится.
3. Записываем образ на флешку sudo dd if=my-linux-distr.iso of=/dev/disk1 (понятно что вместо образа можно пихать путь к файлу на диске)
4. Ждем завершения записи
$ sudo dd if=archlinux-2014.03.01-dual.iso of=/dev/disk1
Password:
1079296+0 records in
1079296+0 records out
552599552 bytes transferred in 472.350022 secs (1169894 bytes/sec)
Теперь если macos не предложила извлечь флешку автоматически - делаем это вручную
diskutil eject /dev/disk1
5. Profit!


aghr