Os comandos permitidos SITE
variam com o daemon FTP em uso (por exemplo, SITE CHMOD
em vsftpd
; mais alguns em FtpServer do Apache . Em geral, não é o recurso de shell remoto que você espera.
No entanto, o ProFTPd aparentemente suporta SITE UTIME
.
Portanto, se o seu FTPd em questão tem SITE UTIME
, você poderia tentar SITE UTIME
em um loop do lado do cliente , como este (pseudo-código, nenhum servidor mencionado, também tenha em mente que pode haver espaços (precisa de cotação), você também precisa de um cliente de FTP versátil ( lftp
pode ser um bom candidato)):
for file in $(./ftp-get-directory-list)
do ftp-client -c "SITE UTIME ${file}"
done
EDITAR veja também a boa resposta de Gilles aqui sobre a possível interação entre scripts Bash e lftp
.
Adendo Se você estiver em alguma linguagem de script (por exemplo, Python), você também pode fazer um favor a si mesmo por usando alguma biblioteca de FTP .