Di recente ho scoperto che se si caricano via SFTP o via FTP dei files su un server OwnCloud questi non vengono visualizzati e indicizzati nella pagina web.
Tuttavia, le directory che sono state copiate tramite FTP o SFTP sono presenti a livello di file system.
Per ovviare a questo problema basta lanciare i seguenti comandi:
Posizionarsi nella cartella /var/www/owncloud con il comando:
0 |
cd /var/www/owncloud |
quindi i seguenti comandi:
0 1 |
sudo -u www-data php occ files:scan --all sudo -u www-data php occ files:scan --help |
Cercando su Google ho scoperto che qualcuno ha relaizzato una pagina in PHP che richiamata aggiorna in automatico i files rendendoli visibili via web.
Di segutio il codice della pagina PHP:
NOTA BENE: posizionare lo script nella cartella principale nextcloud in cui si trova console.php, ad es. /var/www/nextcloud
0 1 2 3 4 5 6 7 8 9 10 11 |
<?php $path = realpath(dirname(__FILE__)); echo "PHP Version: " . phpversion() ."<br>"; // run upgrade routines after installation of a new release. The release has to be installed before. //exec("php $path/console.php upgrade 2>&1", $out, $result); // rescan filesystem exec("php $path/console.php files:scan --all -v 2>&1", $out, $result); // for more commands see documentation echo "Returncode: " .$result ."<br>"; echo "Console output: " ."<br>"; echo "<pre>"; print_r($out); ?> |
A questo punto se proviamo a richiamare la pagina da un browser magicamante i file verranno aggiornati.
Tramite il crontab è possibile schedulare l’esecuzione della pagina PHP in modo da non doverla richiamare a mano tutte le volte che vengono aggiornati dei file via SFTP o FTP.
ottimo, ho impostato lo script in crontab e funziona egregiamente
grazie