Я всегда был большим поклонником Linux и с появлением подсистемы Linux в ядре Windows 10 я конечно же стал его активно использовать. По сути никаких отличий от официального Linux-а я не заметил, все тоже самое и работает из коробки. Нужно только зайти в магазине Microsoft Store найти приложение Ubuntu и установит его. При открытии приложения у вас откроется bash. Разумеется пока ни о какой графической оболочке и речи быть не может. А теперь к сути.
Значит есть у нас на борту WSL и запустили мы в нем много всякой всячины. nginx, postgresql, django и т.д. Периодически мне потребовалось выполнять некоторые манипуляции с базой данных. Разумеется первое что пришло на ум это встроенный демон-планировщик который входит в ядро Linux это — Cron. Так как у меня Django, то я использовал Django-crontab, по сути обертка над обычным cron для Django. Вещь кстати классная, простая и эффективная как топор.
Добавил в settings.py расписание для скрипта
CRONJOBS = [ (’15 */4 * * *’, ‘catalog.cron.import_dbf_job’)]
И далее разумеется ждал, что он будет выполняться каждый 4 часа + 15 минут. Но почему то этого не происходило. К сожалению я много времени убил на выяснение причин, но в итоге все свелось к тому, что:
- Нужно сначала запустить cron командой sudo service cron start
- Нужно включить текущего пользователя windows в группу cron
usermod -a -G crontab (username)
На этом в принципе все. Решение было найдено тут. У себя в блоге как обычно записал шпаргалку для себя и для русскоязычных пользователей.