Если скрипт должен выполнить однозадачную задачу при запуске, я бы использовал задачу @reboot cron. В этом случае вы должны отредактировать свой crontab с помощью sudo crontab -e и добавить что-то вроде следующей строки:
@reboot php /var/www/XXXXXX.php
На этой странице приведены дополнительные сведения об использовании cron.
То, что вы делаете (попытка синхронизировать WSL и истинную установку Ubuntu совершенно), очень опасна и не должна восприниматься легко, если это даже возможно. Конфигурация / системные различия между двумя ОС могут вызвать массовые проблемы в зависимости от того, как это происходит. См. Здесь, что происходит, когда люди делают подобные вещи с VirtualBox.
С WSL могут случиться только худшие вещи, и это будет преувеличено, пытаясь синхронизировать все файлы, кроме тех, которые находятся в черном списке.
Это говорит о том, что то, что вы хотите сделать (слияние папок без перезаписи существующих файлов), чрезвычайно прост и уже поддерживается почти каждым основным файловым менеджером (и командой prompt).
Обратите внимание, что это не будет работать автоматически. Вам придется вручную запускать их, хотя я полагаю, вы можете использовать некоторые творческие злоупотребления, чтобы сделать его полуавтоматическим. Обратите внимание, что все предыдущие оговорки будут применяться.
Обычный старая cp может сделать это с помощью опции -n:
┌─[16:57:35]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ └── d
└── folder-b
├── a
├── c
├── e
└── k
└── j
3 directories, 7 files
┌─[16:57:41]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:57:43]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
┌─[16:57:54]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-a/* folder-b/
┌─[16:58:00]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-b/* folder-a/
┌─[16:58:03]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ ├── e
│ └── k
│ └── j
└── folder-b
├── a
├── b
├── c
├── d
├── e
└── k
└── j
4 directories, 12 files
┌─[16:58:07]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:58:09]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
В качестве альтернативы, если вы хотите использовать графический интерфейс, это также можно выполнить с помощью простого старого Nautilus. Просто перетащите содержимое одного на другое, и вы увидите это приглашение в первом конфликтующем файле. Просто нажмите Применить это действие ко всем файлам, а затем Пропустить:
┌─[17:01:33]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-a/a
Hello World A
┌─[17:01:34]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-b/a
Hello World B
Если вы хотите поэкспериментировать немного (на самом деле, много), вы можете злоупотреблять чем-то вроде aufs или OverlayFS. Фактически, вы настроили свою «базовую» файловую систему на общую файловую систему (вероятно, это ваш корень Ubuntu). Затем у вас будет второй слой, содержащий WSL-изменения. Пусть только слой WSL доступен только для чтения, а все остальное переходит в базовую файловую систему. Конечно, все это теоретично, и вам нужно будет сделать много исследований, чтобы увидеть, возможно ли что-то подобное.
Если вам нужны только «основные» папки, синхронизированные между ОС (например, [ f6], Music, Desktop и т. д.), просто создайте символическую ссылку от одного к другому. Моя старая конфигурация Ubuntu, когда я дважды загружался, имел мою папку ~/Documents, символически привязанную к эквиваленту Windows. Это можно сделать, конечно, с чем-то вроде ln -s. Обратите внимание, что вам может понадобиться немного поработать с разрешениями на mounts very использовать привязки привязок.
То, что вы делаете (попытка синхронизировать WSL и истинную установку Ubuntu совершенно), очень опасна и не должна восприниматься легко, если это даже возможно. Конфигурация / системные различия между двумя ОС могут вызвать массовые проблемы в зависимости от того, как это происходит. См. Здесь, что происходит, когда люди делают подобные вещи с VirtualBox.
С WSL могут случиться только худшие вещи, и это будет преувеличено, пытаясь синхронизировать все файлы, кроме тех, которые находятся в черном списке.
Это говорит о том, что то, что вы хотите сделать (слияние папок без перезаписи существующих файлов), чрезвычайно прост и уже поддерживается почти каждым основным файловым менеджером (и командой prompt).
Обратите внимание, что это не будет работать автоматически. Вам придется вручную запускать их, хотя я полагаю, вы можете использовать некоторые творческие злоупотребления, чтобы сделать его полуавтоматическим. Обратите внимание, что все предыдущие оговорки будут применяться.
Обычный старая cp может сделать это с помощью опции -n:
┌─[16:57:35]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ └── d
└── folder-b
├── a
├── c
├── e
└── k
└── j
3 directories, 7 files
┌─[16:57:41]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:57:43]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
┌─[16:57:54]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-a/* folder-b/
┌─[16:58:00]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-b/* folder-a/
┌─[16:58:03]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ ├── e
│ └── k
│ └── j
└── folder-b
├── a
├── b
├── c
├── d
├── e
└── k
└── j
4 directories, 12 files
┌─[16:58:07]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:58:09]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
В качестве альтернативы, если вы хотите использовать графический интерфейс, это также можно выполнить с помощью простого старого Nautilus. Просто перетащите содержимое одного на другое, и вы увидите это приглашение в первом конфликтующем файле. Просто нажмите Применить это действие ко всем файлам, а затем Пропустить:
┌─[17:01:33]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-a/a
Hello World A
┌─[17:01:34]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-b/a
Hello World B
Если вы хотите поэкспериментировать немного (на самом деле, много), вы можете злоупотреблять чем-то вроде aufs или OverlayFS. Фактически, вы настроили свою «базовую» файловую систему на общую файловую систему (вероятно, это ваш корень Ubuntu). Затем у вас будет второй слой, содержащий WSL-изменения. Пусть только слой WSL доступен только для чтения, а все остальное переходит в базовую файловую систему. Конечно, все это теоретично, и вам нужно будет сделать много исследований, чтобы увидеть, возможно ли что-то подобное.
Если вам нужны только «основные» папки, синхронизированные между ОС (например, Documents, Music, Desktop и т. д.), просто создайте символическую ссылку от одного к другому. Моя старая конфигурация Ubuntu, когда я дважды загружался, имел мою папку ~/Documents, символически привязанную к эквиваленту Windows. Это можно сделать, конечно, с чем-то вроде ln -s. Обратите внимание, что вам может понадобиться немного поработать с разрешениями на mounts very использовать привязки привязок.
То, что вы делаете (попытка синхронизировать WSL и истинную установку Ubuntu совершенно), очень опасна и не должна восприниматься легко, если это даже возможно. Конфигурация / системные различия между двумя ОС могут вызвать массовые проблемы в зависимости от того, как это происходит. См. Здесь, что происходит, когда люди делают подобные вещи с VirtualBox.
С WSL могут случиться только худшие вещи, и это будет преувеличено, пытаясь синхронизировать все файлы, кроме тех, которые находятся в черном списке.
Это говорит о том, что то, что вы хотите сделать (слияние папок без перезаписи существующих файлов), чрезвычайно прост и уже поддерживается почти каждым основным файловым менеджером (и командой prompt).
Обратите внимание, что это не будет работать автоматически. Вам придется вручную запускать их, хотя я полагаю, вы можете использовать некоторые творческие злоупотребления, чтобы сделать его полуавтоматическим. Обратите внимание, что все предыдущие оговорки будут применяться.
Обычный старая cp может сделать это с помощью опции -n:
┌─[16:57:35]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ └── d
└── folder-b
├── a
├── c
├── e
└── k
└── j
3 directories, 7 files
┌─[16:57:41]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:57:43]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
┌─[16:57:54]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-a/* folder-b/
┌─[16:58:00]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cp -nR folder-b/* folder-a/
┌─[16:58:03]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % tree
.
├── folder-a
│ ├── a
│ ├── b
│ ├── c
│ ├── d
│ ├── e
│ └── k
│ └── j
└── folder-b
├── a
├── b
├── c
├── d
├── e
└── k
└── j
4 directories, 12 files
┌─[16:58:07]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-a/a
Hello World A
┌─[16:58:09]─[kazwolfe@firewolf]
└──> /tmp/xor-terminal % cat folder-b/a
Hello World B
В качестве альтернативы, если вы хотите использовать графический интерфейс, это также можно выполнить с помощью простого старого Nautilus. Просто перетащите содержимое одного на другое, и вы увидите это приглашение в первом конфликтующем файле. Просто нажмите Применить это действие ко всем файлам, а затем Пропустить:
┌─[17:01:33]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-a/a
Hello World A
┌─[17:01:34]─[kazwolfe@firewolf]
└──> /tmp/xor-gui % cat folder-b/a
Hello World B
Если вы хотите поэкспериментировать немного (на самом деле, много), вы можете злоупотреблять чем-то вроде aufs или OverlayFS. Фактически, вы настроили свою «базовую» файловую систему на общую файловую систему (вероятно, это ваш корень Ubuntu). Затем у вас будет второй слой, содержащий WSL-изменения. Пусть только слой WSL доступен только для чтения, а все остальное переходит в базовую файловую систему. Конечно, все это теоретично, и вам нужно будет сделать много исследований, чтобы увидеть, возможно ли что-то подобное.
Если вам нужны только «основные» папки, синхронизированные между ОС (например, Documents, Music, Desktop и т. д.), просто создайте символическую ссылку от одного к другому. Моя старая конфигурация Ubuntu, когда я дважды загружался, имел мою папку ~/Documents, символически привязанную к эквиваленту Windows. Это можно сделать, конечно, с чем-то вроде ln -s. Обратите внимание, что вам может понадобиться немного поработать с разрешениями на mounts very использовать привязки привязок.