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