2017-02-21 5 views
0

J'ai ici une boîte Linux que j'ai configurée avec un dossier partagé cifs sur mon ordinateur windows. Aucun problème, il fonctionne exactement comme prévu. Cependant, j'ai pensé à exécuter des scripts bash en utilisant ce même répertoire et il semble que ce ne soit pas ma racine.mkdir: impossible de créer le répertoire: aucun fichier ou répertoire de ce type - cifs windows dossier partagé

now=$(date +"%Y-%m-%d") 
#or: `now=$(date +%s)` if you back up more than once a day 

mkdir /__backup/"$now" 

Faire cela à partir du dossier partagé amène à ce qu'il ne peut pas trouver le répertoire commandes runningthese:

echo "$0" 
dirname "$0" 

indique l'adresse que « »

Quelqu'un a-t-il des idées sur la façon de l'exécuter?

+0

Certainement pas. Il sort juste la chaîne à la place. –

+0

Juste vérifié sur ** [Sous-système Windows pour Linux] (https://msdn.microsoft.com/fr-fr/commandline/wsl/install_guide) **, ils font la même chose AFAICT – Blacksilver

+0

Ah ... c'est un peu différent. Je cherche à exécuter le script automatisé du côté de Linux. Pas de fenêtres. –

Répondre

0

Vous faites:

#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir "/__backup/$now" 

Donc, ce ne fonctionne que si /__backup/ existe. Est-ce que:

#!/bin/bash 
now=`date "+%Y-%m-%d"` 
mkdir -p "/__backup/$now" # -p creates parent directories as needed (see man mkdir) 

#Optional: change directory to the one you just created: 
cd /__backup/$now 

Bien sûr, vous aurez besoin de faire racine un répertoire dans /, de sorte que vous pouvez vérifier cela.

if [ `whoami` = "root" ]; then 
    # You are root... 
else 
    echo "Error: Only root can do that." 
    exit 1 
fi 

Vous pouvez éviter le problème d'avoir besoin racine si vous créez __backup dans ~. Vous pouvez également masquer __backup en le renommant .backup.

+1

Ou utilisez 'mkdir -p ...' –

+0

Eh bien, vous apprenez une nouvelle chose tous les jours. Modification ... – Blacksilver

+0

'mkdir: impossible de créer le répertoire '/ __ Backup/02_21_17 \ r \ r': Aucun fichier ou répertoire' Ceci ne fonctionne toujours pas pour moi. –