Вам действительно не нужно много знать о c ++, чтобы получить доступ к командам терминала. Просто поставьте следующее в любом файле, заканчивающемся на .cpp, например runPython.cpp.
#include <stdlib.h>
int main ()
{
system("cd /home/user/path/to/script");
system("python3 myScript.py");
return 0;
}
Теперь вам нужно выяснить, как получить код c ++, запущенный в QML, но я уверен
Обратите внимание, что вы можете добавить любую команду linux, которая вам нравится, следуя тому же синтаксису system("linux command");.
Надеюсь, что это поможет!
Хотя кажется, что код Déjà Dup не может быть легко модифицирован для размещения почасовой опции, резервное копирование может быть инициировано вручную, и это можно легко добавить в качестве задания cron, которое выполняется в течение часа.
Вот шаги, которые вам нужно предпринять:
Выполните следующие две команды в терминале, чтобы включить локальный доступ к X-серверу:xhost +local:
xhost
Теперь запустите эту команду: crontab -e
Если вас попросят выбрать редактор, перейдите к /bin/nano. Перейдите в нижнюю часть файла и добавьте следующую строку (за которой следует пустая строка): 15 * * * * env DISPLAY=:0 /usr/bin/deja-dup --backup
Если вы выбрали nano на шаге 2, нажмите Ctrl + O, а затем Enter и Ctrl + X. (Если нет, используйте соответствующие команды для вашего редактора, чтобы сохранить файл и выйти.) Все готово! Ваши резервные копии теперь будут проходить через 15 минут после начала каждого часа (12:15, 1:15 и т. Д.)
Хотелось следить за комментарием пользователя103965. Это связано с тем, что при запуске с Cron процесс не знает о ваших настройках dconf. На этой странице: https://stackoverflow.com/questions/10374520/gsettings-with-cron Мне удалось создать скрипт, который можно вызвать из cron.
#!/bin/bash
export DISPLAY=:0
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`
/usr/bin/deja-dup --backup --auto
my crontab:
*/15 * * * * /home/useracct/bin/cronBackup
вы можете написать простой скрипт, такой как
for i in `seq 1000`
do
deja-dup --backup
sleep 20 # define the frequency of backup here
done
, затем запустить сценарий в фоновом режиме. Вы можете использовать бесконечный цикл, если хотите.