2009-10-14 7 views
0

J'ai besoin de sauvegarder (pour le débogage) certains fichiers temporaires pendant qu'un programme en cours d'exécution. J'avais l'habitude de le faire avec rsync -sur le répertoire /var/tmp/someprogram avec find . -iname 'blahblah' -exec rsync -someoptions $DESTdir, qui fonctionne merveilleusement. Sauf le cas de quelqu'un dans un programme (pour lequel je n'ai pas accès au code source, et n'aurai jamais - histoire triste et longue commençant par COBOL ...) écrase le fichier temporaire avec du nouveau contenu de l'intérieur le programme un peu.Rsync créer un nouveau fichier sur la taille du fichier changer

E.g.

  1. premier programme PROG
  2. Cela crée un fichier B1237 dans le tmp dir (et je suis rsync de partout en quelques minutes)
  3. Après la PROG se termine le traitement des B123 il commence un autre cycle et recrée B1237 avec un nouveau contenu et le fichier rsync -ed sera remplacé. Et j'ai aussi besoin de la première version.

Est-ce possible de manière simple? Je pensais à gzipping timestapped du DEST dir, mais il devrait y avoir un autre moyen (sans créer un (par exemple) git repo dans le répertoire dest et commiting après la synchronisation ...

Mise à jour: Je ne l'ai pas parler - désolé - que je n'ai pas le droit d'installer quoi que ce soit sur ce SLES9 serveur (entreprise)

Merci à l'avance

Répondre

0

Si vous voulez faire quelque chose de plus efficace que l'espace cp --archive, vous.! pourrait vouloir regarder faubackup

+0

rsync est beaucoup mieux pour cela car il gère d'abord les fichiers de manière à ce qu'il soit plus efficace. –

Questions connexes