Como rastrear a cópia e mover operações de arquivos e pastas?

0

Eu uso arrastar e soltar para copiar e mover arquivos. Uma desvantagem disso é que os arquivos podem acabar nos lugares errados. Então, digamos que eu copiei / movi muitos arquivos e pastas para vários destinos diferentes.

Como posso rastrear onde tudo acabou para garantir que tudo foi copiado / movido para os lugares certos?

    
por Amr Ibrahim 28.01.2014 / 10:24

1 resposta

2

O que você está pedindo é um "observador do sistema de arquivos".

iWatch

iWatchisarealtimefilesystemmonitoringprogram.It'sasimpleperlscripttomonitorchangesinspecificdirectories/filesandsendemailnotificationimmediately.Itreadsthedir/filelistfromxmlconfigfileandneedsinotifysupportinkernel(LinuxKernel>=2.6.13).

Existemmais,masestepareceserométodomaissimples,énativodoUbuntueusaoinotify(paranãosobrecarregarosistema).

OiWatchvememdoismétodos:

  1. linhadecomando
  2. daemon

Algumasopçõesdelinhadecomandopararegistro:

-m<emailaddress>Specifythecontactpoint'semailaddress.Withoutthisoption,iwatchwillnotsendanyemailnotification.-s<on|off>Enableordisablereportstothesyslog(defaultisoff/disabled)

Alguns exemplos de linha de comando :

iwatch /tmp

monitorar mudanças no diretório / tmp com eventos padrão

iwatch -r -e access,create -m cahya@localhost -x /etc/mail /etc

monitore somente o acesso e crie eventos no diretório / etc recursivamente com / etc / mail como exceção e envie uma notificação por e-mail para o cahya @ localhost.

iwatch -r -c "(w;ps -ef)|mail -s '%f was changed' cahya@localhost" /bin

monitore / bin o diretório recursivamente e execute o comando.

iwatch -r -X '\.svn' ~/projects

monitore o diretório ~ / projects de forma recursiva, mas exclua qualquer diretório .svn dentro dele. Isso não pode ser feito com uma opção normal '-x', já que '-x' só pode excluir o caminho definido.

Exemplo de arquivo de configuração ao usar o modo de modo daemon. O registro é feito com opções XML no arquivo de configuração:

<config>
  <guard email="myadmin@localhost" name="IWatch"></guard>
  <watchlist>
  <title>Public Website</title>
  <contactpoint email="webmaster@localhost" name="Web Master"/>
    <path type="single">/var/www/localhost/htdocs</path>
    <path type="single" syslog="on">/var/www/localhost/htdocs/About</path>
    <path type="recursive">/var/www/localhost/htdocs/Photos</path>
  </watchlist>
  <watchlist>
  <title>Operating System</title>
  <contactpoint email="admin@localhost" name="Administrator"/>
    <path type="recursive">/etc/apache2</path>
    <path type="single">/etc/passwd</path>
    <path type="recursive">/etc/mail</path>
    <path type="exception">/etc/mail/statistics</path>
    <path type="single" filter="shadow|passwd">/etc</path>
  </watchlist>
  <watchlist>
  <title>Only Test</title>
  <contactpoint email="root@localhost" name="Administrator"/>
    <path type="single" alert="off" exec="(w;ps -ef)|mail -s %f
      root@localhost">/tmp/dir1</path>
    <path type="single" events="access,close" alert="off" exec="(w;ps -ef)|mail -s %f
      root@localhost">/tmp/dir2</path>
    <path type="single" events="default,access" alert="off" exec="(w;ps -ef)|mail -s '%f is
      accessed' root@localhost">/tmp/dir3</path>
    <path type="single" events="all_events" alert="off">/tmp/dir4</path>
  </watchlist>
</config>

Com esta configuração, o iwatch irá monitorar um único diretório /var/www/localhost/htdocs sem seus subdiretórios, e qualquer notificação será enviada para o ponto de contato webmaster @ localhost. Mas ele monitorará toda a árvore de diretórios de /etc/apache2 , incluindo todos os subdiretórios criados posteriormente após o início do IWatch. Você também pode criar exceções aqui se não quiser receber uma notificação para um arquivo ou subdiretório dentro do diretório monitorado.

    
por Rinzwind 28.01.2014 / 10:45

Tags