Как запустить сервер MongoDB при запуске системы?

Извлечение изображений из рекурсивного каталога

В приведенном ниже скрипте будут скопированы изображения с соотношением 4: 3 из рекурсивно исходного каталога в целевой каталог.

#!/usr/bin/env python3
import os
import shutil
from PIL import Image
import sys

dr = sys.argv[1]; target = sys.argv[2]

for root, dirs, files in os.walk(dr):
    for f in files:
        try:
            file = root+"/"+f
            img = Image.open(file); size = img.size; ratio = size[0]/size[1]
            if ratio == 4/3:
                shutil.copyfile(file, target+"/"+f)
        except (IOError, ValueError):
            pass

Как использовать

Скопировать сценарий в пустой файл, сохранить это как search_ratio.py Запустите его командой:
python3 /path/to/search_ratio.py /source/directory /target/directory

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

python3 '/home/jacob/Bureaublad/pscript_4.py' '/home/jacob/Bureaublad' '/home/jacob/Afbeeldingen/test'

Если вы извлекаете изображения из «плоской» (единственной) директории

Тогда сценарий может быть немного проще: [ ! d10]

#!/usr/bin/env python3
import os
import shutil
from PIL import Image
import sys

dr = sys.argv[1]; target = sys.argv[2]

for f in os.listdir(dr):
    try:
        file = dr+"/"+f
        img = Image.open(file); size = img.size; ratio = size[0]/size[1]
        if ratio == 4/3:
            shutil.copyfile(file, target+"/"+f)
    except (IOError, ValueError):
        pass

Используйте его точно так же, как и первый.

Обратите внимание, что при первом скрипте вы получите столкновения имен в случае дублированных имен в разных исходных папках.

58
задан 11 September 2011 в 07:14

64 ответа

У меня была одна и та же «проблема» на Debian jessie, и мое простое решение:

systemctl enable mongod.service

Я думаю, что в Ubuntu это одно и то же.

71
ответ дан 25 July 2018 в 21:20
  • 1
    Работал для меня на Ubuntu Mate 16.04.2 LTS – Muhammad Gelbana 18 February 2017 в 16:50
  • 2
    Это сработало для меня (Ubuntu 16.04 LTS, MongoDB 3.4.4) – dragosrsupercool 25 May 2017 в 10:20
  • 3
    Жаль, что в официальной документации о запуске сервиса нет информации. – UpTheCreek 9 January 2018 в 16:31
  • 4
    может потребоваться (sudo) systemctl start mongod, чтобы запустить службу mongodb – Jeff Xiao 3 April 2018 в 14:47

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

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on-ubuntu-ec2/

0
ответ дан 25 July 2018 в 21:20
  • 1
    Пожалуйста, не публикуйте «только внешние ссылки». Возможно, внешняя ссылка может снизиться в будущем, и тогда этот ответ будет неполным. В дополнение к ссылке, пожалуйста, разместите соответствующую часть статьи здесь: например. опубликовать деталь, которая показывает «Как запустить сервер MongoDB при запуске системы» & quot; используя выскочку. – rigved 23 December 2011 в 12:39

Если вы устанавливаете MongoDB с apt-get, как описано в руководстве по установке MongoDB Ubuntu, он будет иметь базовый сценарий запуска и файл конфигурации. (рекомендуется использовать файл конфигурации)

Вы также можете посмотреть в руководстве по установке MongoDB Ubuntu для старого сообщения, которое ссылается на скрипт init.d. [ ! d2]

В любом случае основная предпосылка заключается в том, что вы настраиваете службу, а затем настраиваете ее для запуска с компьютера. Это довольно распространенная техника для серверов, для этого нужно много учебников.

0
ответ дан 25 July 2018 в 21:20
  • 1
    больше не в случае 16.04 – chovy 10 December 2016 в 10:59
  • 2
    Будет ли это запускать сервер, прежде чем кто-либо войдет в систему? – Gabriel Fair 17 March 2018 в 20:13

Если у вас Ubuntu 16.04 LTS, вы можете включить mongo для запуска при загрузке, набрав это в консоли: sudo systemctl enable mongod Я использовал этот подход с MongoDB Community Edition 3.6, и он работает. Перезагрузите компьютер и проверьте, работает ли манго: sudo service mongod status

0
ответ дан 25 July 2018 в 21:20

Если вы устанавливаете MongoDB с помощью Advanced Packaging Tool (apt), тогда он будет настраивать сценарии запуска для автоматического запуска Mongo при загрузке системы.

Шаги следующие: сначала настройте apt to be возможно загрузить Mongo package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 sudo nano /etc/apt/sources.list

Добавьте эту строку в apt , затем сохраните:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Затем загрузите и установите Mongo с помощью apt -get:

sudo apt-get update sudo apt-get upgrade sudo apt-get install mongodb-10gen

Если вы хотите внести какие-либо изменения в конфигурацию, отредактируйте файл mongodb.conf и перезапустите: & nbsp;

sudo nano /etc/mongodb.conf sudo service mongod restart
32
ответ дан 25 July 2018 в 21:20
  • 1
    Если вы хотите позже изменить его на , а не , автоматически запустите MongoDB при запуске, отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:08

Я использую crontab для Ubuntu. Он работает нормально. Чтобы редактировать файл

Sudo crontab –e

Добавьте эту строку в файл

@reboot sudo service mongod start &

«& amp;» вздох в конце поможет ему работать на фоне.

Ctrl + x для выхода, нажмите «Y» после запроса. И сохраните имя файла как «crontab».

1
ответ дан 25 July 2018 в 21:20
[D0] chkconfig --levels 235 mongod on?

где mongodb - это имя вашей службы

0
ответ дан 25 July 2018 в 21:20
  • 1
    Распределение 10gen MongoDB по умолчанию не использует сценарии инициализации System-V (хотя один из них предоставляется), вместо этого отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:16
  • 2
    @kynan Отредактируйте это как? Что я могу изменить / добавить в файл mongod.conf? – Kieveli 28 April 2016 в 16:48
  • 3
    @Kieveli: см. [D0] этот ответ – kynan 30 April 2016 в 01:46

Управление всеми сервисными ссылками init.d должно выполняться с помощью средства update-rc.d

i.e. чтобы включить демон mongod на уровне запуска по умолчанию (т. е. включить его при загрузке):

update-rc.d mongodb defaults

См. https://help.ubuntu.com/community/UbuntuBootupHowto для получения дополнительной информации. Эта ссылка сообщает вам все, что вы хотите знать о том, как устанавливать программы при загрузке.

9
ответ дан 25 July 2018 в 21:20
  • 1
    В компании 10gen распределение mongodb не использования системы-в стиле init скриптах, нужно изменить /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:04
  • 2
    мне нужно это сделать? – tofutim 11 March 2018 в 05:53

У меня была одна и та же «проблема» на Debian jessie, и мое простое решение:

systemctl enable mongod.service

Я думаю, что в Ubuntu это одно и то же.

71
ответ дан 31 July 2018 в 10:28
  • 1
    Работал для меня на Ubuntu Mate 16.04.2 LTS – Muhammad Gelbana 18 February 2017 в 16:50
  • 2
    Это сработало для меня (Ubuntu 16.04 LTS, MongoDB 3.4.4) – dragosrsupercool 25 May 2017 в 10:20
  • 3
    Жаль, что в официальной документации о запуске сервиса нет информации. – UpTheCreek 9 January 2018 в 16:31
  • 4
    может потребоваться (sudo) systemctl start mongod, чтобы запустить службу mongodb – Jeff Xiao 3 April 2018 в 14:47

Я постоянно использовал этот пост в качестве отправной точки для создания новой строгальной установки. Он включает в себя раздел по настройке выскочки, который я также использовал.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on -ubuntu-ec2 /

0
ответ дан 31 July 2018 в 10:28
  • 1
    Пожалуйста, не публикуйте «только внешние ссылки». Возможно, внешняя ссылка может снизиться в будущем, и тогда этот ответ будет неполным. В дополнение к ссылке, пожалуйста, разместите соответствующую часть статьи здесь: например. опубликовать деталь, которая показывает «Как запустить сервер MongoDB при запуске системы» & quot; используя выскочку. – rigved 23 December 2011 в 12:39

Если вы устанавливаете MongoDB с apt-get, как описано в руководстве по установке MongoDB Ubuntu, он будет иметь базовый сценарий запуска и файл конфигурации. (рекомендуется использовать файл конфигурации)

Вы также можете посмотреть в руководстве по установке MongoDB Ubuntu для старого сообщения, которое ссылается на скрипт init.d. [ ! d2]

В любом случае основная предпосылка заключается в том, что вы настраиваете службу, а затем настраиваете ее для запуска с компьютера. Это довольно распространенная техника для серверов, для этого нужно много учебников.

3
ответ дан 31 July 2018 в 10:28

Если у вас Ubuntu 16.04 LTS, вы можете включить mongo для запуска при загрузке, набрав это в консоли: sudo systemctl enable mongod Я использовал этот подход с MongoDB Community Edition 3.6, и он работает. Перезагрузите компьютер и проверьте, работает ли манго: sudo service mongod status

0
ответ дан 31 July 2018 в 10:28

Если вы устанавливаете MongoDB с помощью Advanced Packaging Tool (apt), тогда он будет настраивать сценарии запуска для автоматического запуска Mongo при загрузке системы.

Шаги следующие: сначала настройте apt to be возможно загрузить Mongo package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 sudo nano /etc/apt/sources.list

Добавьте эту строку в apt , затем сохраните:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Затем загрузите и установите Mongo с помощью apt -get:

sudo apt-get update sudo apt-get upgrade sudo apt-get install mongodb-10gen

Если вы хотите внести какие-либо изменения в конфигурацию, отредактируйте файл mongodb.conf и перезапустите: & nbsp;

sudo nano /etc/mongodb.conf sudo service mongod restart
32
ответ дан 31 July 2018 в 10:28
  • 1
    Если вы хотите позже изменить его не автоматически запустить mongodb при запуске, изменить /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:08

Я использую crontab для Ubuntu. Он работает нормально. Чтобы редактировать файл

Sudo crontab –e

Добавьте эту строку в файл

@reboot sudo service mongod start &

«& amp;» вздох в конце поможет ему работать на фоне.

Ctrl + x для выхода, нажмите «Y» после запроса. И сохраните имя файла как «crontab».

2
ответ дан 31 July 2018 в 10:28

chkconfig --levels 235 mongod on?

, где mongodb-это название услуги

0
ответ дан 31 July 2018 в 10:28
  • 1
    Распределение 10gen MongoDB по умолчанию не использует сценарии инициализации System-V (хотя один из них предоставляется), вместо этого отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:16
  • 2
    @kynan Отредактируйте это как? Что я могу изменить / добавить в файл mongod.conf? – Kieveli 28 April 2016 в 16:48
  • 3
    @Kieveli: см. [D0] этот ответ – kynan 30 April 2016 в 01:46

Управление всеми сервисными ссылками init.d должно выполняться с помощью средства update-rc.d

i.e. чтобы включить демон mongod на уровне запуска по умолчанию (т. е. включить его при загрузке):

update-rc.d mongodb defaults

См. https://help.ubuntu.com/community/UbuntuBootupHowto для получения дополнительной информации. Эта ссылка сообщает вам все, что вы хотите знать о том, как устанавливать программы при загрузке.

9
ответ дан 31 July 2018 в 10:28
  • 1
    В дистрибутиве 10gen MongoDB не используются сценарии инициализации стиля System-V, вам нужно отредактировать /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:04
  • 2
    мне нужно это сделать? – tofutim 11 March 2018 в 05:53

У меня была одна и та же «проблема» на Debian jessie, и мое простое решение:

systemctl enable mongod.service

Я думаю, что в Ubuntu это одно и то же.

71
ответ дан 31 July 2018 в 11:30
  • 1
    Работал для меня на Ubuntu Mate 16.04.2 LTS – Muhammad Gelbana 18 February 2017 в 16:50
  • 2
    Это сработало для меня (Ubuntu 16.04 LTS, MongoDB 3.4.4) – dragosrsupercool 25 May 2017 в 10:20
  • 3
    Жаль нет никакой информации в официальной документации о запуске службы. – UpTheCreek 9 January 2018 в 16:31
  • 4
    может потребоваться (sudo) systemctl start mongod, чтобы запустить службу mongodb – Jeff Xiao 3 April 2018 в 14:47

Я постоянно использовал этот пост в качестве отправной точки для создания новой строгальной установки. Он включает в себя раздел по настройке выскочки, который я также использовал.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on -ubuntu-ec2 /

0
ответ дан 31 July 2018 в 11:30
  • 1
    Пожалуйста, не публикуйте «только внешние ссылки». Возможно, внешняя ссылка может снизиться в будущем, и тогда этот ответ будет неполным. В дополнение к ссылке, пожалуйста, разместите соответствующую часть статьи здесь: например. опубликовать деталь, которая показывает «Как запустить сервер MongoDB при запуске системы» & quot; используя выскочку. – rigved 23 December 2011 в 12:39

Если вы устанавливаете MongoDB с apt-get, как описано в руководстве по установке MongoDB Ubuntu, он будет иметь базовый сценарий запуска и файл конфигурации. (рекомендуется использовать файл конфигурации)

Вы также можете посмотреть в руководстве по установке MongoDB Ubuntu для старого сообщения, которое ссылается на скрипт init.d. [ ! d2]

В любом случае основная предпосылка заключается в том, что вы настраиваете службу, а затем настраиваете ее для запуска с компьютера. Это довольно распространенная техника для серверов, для этого нужно много учебников.

3
ответ дан 31 July 2018 в 11:30
  • 1
    больше не в случае 16.04 – chovy 10 December 2016 в 10:59
  • 2
    Будет ли это запускать сервер, прежде чем кто-либо войдет в систему? – Gabriel Fair 17 March 2018 в 20:13

Если у вас Ubuntu 16.04 LTS, вы можете включить mongo для запуска при загрузке, набрав это в консоли: sudo systemctl enable mongod Я использовал этот подход с MongoDB Community Edition 3.6, и он работает. Перезагрузите компьютер и проверьте, работает ли манго: sudo service mongod status

0
ответ дан 31 July 2018 в 11:30

Если вы устанавливаете MongoDB с помощью Advanced Packaging Tool (apt), тогда он будет настраивать сценарии запуска для автоматического запуска Mongo при загрузке системы.

Шаги следующие: сначала настройте apt to be возможно загрузить Mongo package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 sudo nano /etc/apt/sources.list

Добавьте эту строку в apt , затем сохраните:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Затем загрузите и установите Mongo с помощью apt -get:

sudo apt-get update sudo apt-get upgrade sudo apt-get install mongodb-10gen

Если вы хотите внести какие-либо изменения в конфигурацию, отредактируйте файл mongodb.conf и перезапустите: & nbsp;

sudo nano /etc/mongodb.conf sudo service mongod restart
32
ответ дан 31 July 2018 в 11:30
  • 1
    Если вы хотите позже изменить его на , а не , автоматически запустите MongoDB при запуске, отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:08

Я использую crontab для Ubuntu. Он работает нормально. Чтобы редактировать файл

Sudo crontab –e

Добавьте эту строку в файл

@reboot sudo service mongod start &

«& amp;» вздох в конце поможет ему работать на фоне.

Ctrl + x для выхода, нажмите «Y» после запроса. И сохраните имя файла как «crontab».

2
ответ дан 31 July 2018 в 11:30
[D0] chkconfig --levels 235 mongod on?

где mongodb - это имя вашей службы

0
ответ дан 31 July 2018 в 11:30
  • 1
    Распределение 10gen MongoDB по умолчанию не использует сценарии инициализации System-V (хотя один из них предоставляется), вместо этого отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:16
  • 2
    @kynan Отредактируйте это как? Что я могу изменить / добавить в файл mongod.conf? – Kieveli 28 April 2016 в 16:48
  • 3
    @Kieveli: см. [D0] этот ответ – kynan 30 April 2016 в 01:46

Управление всеми сервисными ссылками init.d должно выполняться с помощью средства update-rc.d

i.e. чтобы включить демон mongod на уровне запуска по умолчанию (т. е. включить его при загрузке):

update-rc.d mongodb defaults

См. https://help.ubuntu.com/community/UbuntuBootupHowto для получения дополнительной информации. Эта ссылка сообщает вам все, что вы хотите знать о том, как устанавливать программы при загрузке.

9
ответ дан 31 July 2018 в 11:30
  • 1
    В дистрибутиве 10gen MongoDB не используются сценарии инициализации стиля System-V, вам нужно отредактировать /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:04
  • 2
    мне нужно это сделать? – tofutim 11 March 2018 в 05:53

У меня была одна и та же «проблема» на Debian jessie, и мое простое решение:

systemctl enable mongod.service

Я думаю, что в Ubuntu это одно и то же.

71
ответ дан 2 August 2018 в 02:59
  • 1
    Работал для меня на Ubuntu Mate 16.04.2 LTS – Muhammad Gelbana 18 February 2017 в 16:50
  • 2
    Это сработало для меня (Ubuntu 16.04 LTS, MongoDB 3.4.4) – dragosrsupercool 25 May 2017 в 10:20
  • 3
    Жаль, что в официальной документации о запуске сервиса нет информации. – UpTheCreek 9 January 2018 в 16:31
  • 4
    может потребоваться (sudo) systemctl start mongod, чтобы запустить службу mongodb – Jeff Xiao 3 April 2018 в 14:47

Я постоянно использовал этот пост в качестве отправной точки для создания новой строгальной установки. Он включает в себя раздел по настройке выскочки, который я также использовал.

http://joslynesser.com/blog/archives/2010/09/28/mongodb-sharding-guide-server-setup-on -ubuntu-ec2 /

0
ответ дан 2 August 2018 в 02:59
  • 1
    Пожалуйста, не пишите "только внешние ссылки". Вполне возможно, что внешняя ссылка может войти в будущее, и этот ответ будет неполным. В дополнение к ссылке, пожалуйста, напишите соответствующую часть статьи здесь: например. выкладываю часть, которая показывает, "как запустить mongodb сервер при старте системы?", используя выскочка. – rigved 23 December 2011 в 12:39

Если вы устанавливаете MongoDB с apt-get, как описано в руководстве по установке MongoDB Ubuntu, он будет иметь базовый сценарий запуска и файл конфигурации. (рекомендуется использовать файл конфигурации)

Вы также можете посмотреть в руководстве по установке MongoDB Ubuntu для старого сообщения, которое ссылается на скрипт init.d. [ ! d2]

В любом случае основная предпосылка заключается в том, что вы настраиваете службу, а затем настраиваете ее для запуска с компьютера. Это довольно распространенная техника для серверов, для этого нужно много учебников.

3
ответ дан 2 August 2018 в 02:59
  • 1
    больше не в случае 16.04 – chovy 10 December 2016 в 10:59
  • 2
    Будет ли это запускать сервер, прежде чем кто-либо войдет в систему? – Gabriel Fair 17 March 2018 в 20:13

Если у вас Ubuntu 16.04 LTS, вы можете включить mongo для запуска при загрузке, набрав это в консоли: sudo systemctl enable mongod Я использовал этот подход с MongoDB Community Edition 3.6, и он работает. Перезагрузите компьютер и проверьте, работает ли манго: sudo service mongod status

0
ответ дан 2 August 2018 в 02:59

Если вы устанавливаете MongoDB с помощью Advanced Packaging Tool (apt), тогда он будет настраивать сценарии запуска для автоматического запуска Mongo при загрузке системы.

Шаги следующие: сначала настройте apt to be возможно загрузить Mongo package:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 sudo nano /etc/apt/sources.list

Добавьте эту строку в apt , затем сохраните:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Затем загрузите и установите Mongo с помощью apt -get:

sudo apt-get update sudo apt-get upgrade sudo apt-get install mongodb-10gen

Если вы хотите внести какие-либо изменения в конфигурацию, отредактируйте файл mongodb.conf и перезапустите: & nbsp;

sudo nano /etc/mongodb.conf sudo service mongod restart
32
ответ дан 2 August 2018 в 02:59
  • 1
    Если вы хотите позже изменить его на , а не , автоматически запустите MongoDB при запуске, отредактируйте /etc/init/mongodb.conf. – kynan 5 December 2012 в 18:08

Я использую crontab для Ubuntu. Он работает нормально. Чтобы редактировать файл

Sudo crontab –e

Добавьте эту строку в файл

@reboot sudo service mongod start &

«& amp;» вздох в конце поможет ему работать на фоне.

Ctrl + x для выхода, нажмите «Y» после запроса. И сохраните имя файла как «crontab».

2
ответ дан 2 August 2018 в 02:59

Другие вопросы по тегам:

Похожие вопросы: