backup via rsync
Le
Une Bévue
j'ai du louper qqc car mon backup rsync oublie des trucs, par exemple le
symlink et son script de backup :
/home/yt/bin/backup2DD
symlink qui pointe vers :
/home/yt/bin/scripts/backup2DD.zsh
j'ai eu le mesage d'erreur suivant :
yt@D620:~$ sudo /home/yt/bin/backup2DD >
Installations/11-12-15--09-48--backup2DD.txt
rsync: readlink_stat("/home/yt/.gvfs") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors)
(code 23) at main.c(1060) [sender=3.0.7]
les perms de .gvfs :
yt@D620:~$ ls -al /home/yt/.gvfs
total 4
dr-x 2 yt yt 0 2011-12-15 07:04 .
drwxr-xr-x 47 yt yt 4096 2011-12-15 09:19 ..
mon script "backup2DD.zsh" :
=
#!/usr/bin/zsh
[ "$SUDO_USER" -a `id -u` -eq 0 ] || {
echo "Please run via sudo."
exit 1
}
export backup=/media/DD
if [ -d "$backup" ]; then
yt="/home/yt"
yt_="$backup/yt/"
echo "backup de '$yt' dans '$yt_'."
rsync -avz --delete-after $yt $yt_
etc="/etc"
etc_="$backup/etc/"
echo "backup de '$etc' dans '$etc_'."
rsync -avz --delete-after $etc $etc_
else
echo "Le disque '$backup' n'est pas monté."
fi
exit 0
=
aussi, quand je suis en sudo, apparemment, le PATH est différent, par
exemple, je n'ai pas mon "/home/yt/bin" dans le PATH, ça se règle
comment le PATH de sudo ???
c'est automatique sur Ubuntu d'avoir "/home/yt/bin" dans le PATH ?
je ne l'ai pas ajouté par moi-même et pourtant il y est
symlink et son script de backup :
/home/yt/bin/backup2DD
symlink qui pointe vers :
/home/yt/bin/scripts/backup2DD.zsh
j'ai eu le mesage d'erreur suivant :
yt@D620:~$ sudo /home/yt/bin/backup2DD >
Installations/11-12-15--09-48--backup2DD.txt
rsync: readlink_stat("/home/yt/.gvfs") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors)
(code 23) at main.c(1060) [sender=3.0.7]
les perms de .gvfs :
yt@D620:~$ ls -al /home/yt/.gvfs
total 4
dr-x 2 yt yt 0 2011-12-15 07:04 .
drwxr-xr-x 47 yt yt 4096 2011-12-15 09:19 ..
mon script "backup2DD.zsh" :
=
#!/usr/bin/zsh
[ "$SUDO_USER" -a `id -u` -eq 0 ] || {
echo "Please run via sudo."
exit 1
}
export backup=/media/DD
if [ -d "$backup" ]; then
yt="/home/yt"
yt_="$backup/yt/"
echo "backup de '$yt' dans '$yt_'."
rsync -avz --delete-after $yt $yt_
etc="/etc"
etc_="$backup/etc/"
echo "backup de '$etc' dans '$etc_'."
rsync -avz --delete-after $etc $etc_
else
echo "Le disque '$backup' n'est pas monté."
fi
exit 0
=
aussi, quand je suis en sudo, apparemment, le PATH est différent, par
exemple, je n'ai pas mon "/home/yt/bin" dans le PATH, ça se règle
comment le PATH de sudo ???
c'est automatique sur Ubuntu d'avoir "/home/yt/bin" dans le PATH ?
je ne l'ai pas ajouté par moi-même et pourtant il y est

Poser une question


Une bonne pratique en Linux est de ne pas compter sur le "PATH" pour
lancer une commande, il faut toujours lancer le programme avec le chemin
complet. Quand on lance un shell on risque de ne pas retrouver ses
variables.
Totalement faux.
Au hasard, .gvfs est un point de montage FUSE, ce qui est toujours
particulier.
Ceci dit des commandes lancées via la crontab sans le chemin complet de cette
commande échouent souvent
Il faut définir l'environnement dans la crontab, évidemment. C'est valable
pour PATH, mais aussi pour LD_LIBRARY_PATH si nécessaire, LC_CTYPE et
compagnie et bien d'autres.