2016-08-05 1 views
2

J'essaie de compresser les fichiers sauvegarde du serveur SQL (.bak) en utilisant la commande de ligne de commande WinRAR. Voici la commande que j'utilise:ligne de commande Winrar fichiers spécifiques avec compriment date nom en fonction de la date actuelle

def fileType = "*.bak" 

"cmd /c \"${rarCmd}\" a ${rarName} ${parameters} ${sourceDir} ${fileType}".execute() 

J'ai ces fichiers dans mon dossier:

Basket_backup_2014_07_30_010007.bak 
Basket_backup_2016_07_31_010007.bak 
Basket_backup_2016_08_05_010006.bak 
Basket_backup_2016_08_05_010007.bak 

Je veux seulement compresser les fichiers qui sont créés aujourd'hui. Alors, comment dois-je modifier la variable fileType afin de compresser les fichiers contenant 2016_08_05 dans leurs noms?

Répondre

1

Démarrer WinRAR et cliquez dans le menu Aide sur le point de menu rubriques d'aide. Dans l'onglet Sommaire item de la liste ouverte mode ligne de commande et cliquez d'abord sur la syntaxe de ligne de commande et vous verrez à la page d'aide ouvert:

WinRAR <commande>-<switch1>-<switchN> <archive> < fichiers ... > < @listfiles ... > < path_to_extrait \ >

Comparons maintenant cette ligne avec votre ligne de code:

"${rarCmd}" a ${rarName} ${parameters} ${sourceDir} ${fileType} 

Il y a évidemment déjà l'erreur dans votre code pour spécifier après la commande d'abord le nom de fichier d'archive, puis les commutateurs au lieu de d'abord la bascule et suit le nom du fichier d'archive.

Et il ne doit pas y avoir d'espace entre ${sourceDir} et ${fileType}, mais un caractère barre oblique inverse.

Ensuite, ouvrez dans la liste des contenus sous-liste Commutateurs et cliquez sur alphabétique commutateurs liste. Construisez votre parameters en utilisant cette liste en la lisant de haut en bas. Les commutateurs les plus intéressants pour vous sont les plus susceptibles

-cfg- -ep1 -ibck -inul -m5 -r- -tl -tn23h -y -- 

-tn23h signifie la dernière date de modification du fichier dans les 23 dernières heures (heure de fichier le plus récent que le temps actuel moins 23 heures). Vous pouvez également utiliser -tn1d pour le dernier fichier modifié dans un délai d'un jour.

En cas d'utilisation de la version de la console Rar.exe au lieu de la version GUI WinRAR.exe utiliser le fichier texte Rar.txt dans le dossier des fichiers programme WinRAR comme cela est le manuel de la version de la console. Il y a quelques commutateurs différents entre la console et la version de l'interface graphique.

+0

'-ta ' a fait l'affaire pour moi. Merci. – ma3stro

0

Vous pouvez faire:

def fileType = "*_${new Date().format('yyyy_MM_dd')}_*.bak"