1 votes

Comment créer une copie d'un fichier immédiatement lorsqu'il est créé?

J'ai une application Android qui va créer un fichier dans /data/ et le supprimer immédiatement. Je veux savoir comment je peux attraper ce fichier ou en faire une copie ou même désactiver les permissions de l'utilisateur pour supprimer un fichier? J'ai un accès root à l'appareil.

1voto

Irfan Latif Points 16863

Vous pouvez y parvenir en utilisant busybox inotifyd. Votre noyau doit être compilé avec CONFIG_INOTIFY_USER=y pour que cela fonctionne. Vous pouvez confirmer avec :

~# zcat /proc/config.gz | grep INOTIFY

Ou l'existence du répertoire /proc/sys/fs/inotify. /proc/config.gz peut ne pas exister sur tous les appareils en fonction de la configuration de la compilation du noyau.

Disons que le répertoire /data/data/com.xyz/files/ est le répertoire que vous souhaitez surveiller. Écrivez un script à exécuter lorsque qu'un fichier ou un répertoire est créé dans le répertoire donné:

#!/system/bin/sh

# Supprimer le premier argument: EVENT
shift

# Créer un répertoire pour sauvegarder les fichiers
mkdir -p /sdcard/backup/

# Copier le fichier/répertoire nouvellement créé
[ -e "$1/$2" ] || exit
cp -av "$1/$2" /sdcard/backup/

Placez le script dans /data/local/tmp/copy_it.sh et chmod a+x. Maintenant exécutez :

~# inotifyd /data/local/tmp/copy_it.sh /data/data/com.xyz/files:n

Notez le :n à la fin de la ligne, qui est l'événement qui signale qu'un fichier/répertoire est créé dans le répertoire surveillé. Cependant, les surveillances ne sont pas établies de manière récursive.

Pour des opérations plus complexes, utilisez inotifywait de inotify-tools comme expliqué ici.

CONNEXE : Comment identifier l'application/le processus qui remonte les partitions en lecture/écriture, crée des fichiers et modifie les autorisations des fichiers?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X