smbclient & dd


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users smbclient & dd
# 1  
Old 03-01-2012
smbclient & dd

you know I am told to get an image of the whole ubuntu system on my server shared folder.
If you have used dd before to get an image of the occupied space on the system please lemme know bout your command.
(I preferably want dd to only get an image of the occupied file system not the free space)

Well, here comes the next part. You know, though I can view my server shared folder graphically, I cannot do it using shell command. The server has the following path:
Code:
smb://username@safe/mysharedfolder

(username and mysharedfolder have the same name)

I tried different commands for smbclient to connect to the server but it failed. Any helps would be appreciable.
# 2  
Old 03-01-2012
These GUIs can be misleading since the actual underlying filesystem isn't using URL's.

To actually mount a CIFS file share(CIFS = samba shares / windows shares / etc) with mount:

Code:
# /mnt/share, or wherever you mount it, should already exist and
# be an empty folder.
mount -t cifs //safe/mysharedfolder -o username=user,password="password" /path/to/mountfolder

---------- Post updated at 12:22 PM ---------- Previous update was at 12:16 PM ----------

dd isn't psychic. dd won't know and cannot know what space is occupied, that's handled at the filesystem level. You need to use filesystem-specific tools to handle that, and how that's done depends on the filesystem type.

Three options:

1) Do it manually. Save your boot sector and /etc/fstab so you know what kind of partitions belong where, then create tarballs of the contents of every partition. By restoring the boot sector, 'w'-ing it inside 'fdisk', re-creating empty partitions and un-taring their contents in them, you ought to create a bootable system.

2) Cheat, forcing an ordinary dd dump to compress better. Boot a livecd and mount partitions, then 'dd if=/dev/zero of=/mnt/partition/bigfile bs=1048576 ; rm /mnt/partition/bigfile' to overwrite all unused space with zeroes. When you make your dd dump, it should now compress very well when piped through gzip because all empty space will contain zeroes.

3) Use partiton-specific tools. (dump can understand ext2/ext3)

I usually do option 1, myself, since it allows you to create a new system with different partition sizes on restore, though it's fiddly and a lot more work.

Last edited by Corona688; 03-01-2012 at 02:29 PM..
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 03-01-2012
Quote:
Originally Posted by Corona688
These GUIs can be misleading since the actual underlying filesystem isn't using URL's.

To actually mount a CIFS file share(CIFS = samba shares / windows shares / etc) with mount:

[code]# /mnt/share, or wherever you mount it, should already exist and
# be an empty folder.
------- Post updated at 12:22 PM ---------- Previous update was at 12:16 PM ----------

dd isn't psychic. dd won't know and cannot know what space is occupied, that's handled at the filesystem level. You need to use filesystem-specific tools to handle that, and how that's done depends on the filesystem type.

Three options:

1) Do it manually. Save your boot sector and /etc/fstab so you know what kind of partitions belong where, then create tarballs of the contents of every partition. By restoring the boot sector, 'w'-ing it inside 'fdisk', re-creating empty partitions and un-taring their contents in them, you ought to create a bootable system.

2) Cheat, forcing an ordinary dd dump to compress better. Boot a livecd and mount partitions, then 'dd if=/dev/zero of=/mnt/partition/bigfile bs=1048576 ; rm /mnt/partition/bigfile' to overwrite all unused space with zeroes. When you make your dd dump, it should now compress very well when piped through gzip because all empty space will contain zeroes.

3) Use partiton-specific tools. (dump can understand ext2/ext3)

I usually do option 1, myself, since it allows you to create a new system with different partition sizes on restore, though it's fiddly and a lot more work.
So, to the smb server in for example, /mnt/share, I shall first mkdir /mnt/share; and then
Code:
mount -t cifs //safe/mysharedfolder -o username=user,password="password" /mnt/share

right?

-about the first option of taking backup, could you clarify it for me with an example? I don't know about /etc/fstab n how to take my partition from there n tar them.

thanks
# 4  
Old 03-01-2012
If those aren't familiar to you, don't try it, since I can't give you a step by step procedure for it -- how to do it depends on what your partitions are, etc, etc. All it boils down to is, there's very little "magic" about a Linux system. Put the right files in the right places with the right permissions and owners, and it really doesn't matter how they got there. There's distributions whose "installer" is just mkfs, tar, and grub-install. The bootloader of course, is a little magic, hence the need to back up the bootsector, where it lives...

dd on the other hand is stupidly simple. One command dumps the entire disk, warts and all.



Your mount options look correct. Keep in mind that 'password' is optional, if there isn't one, remove that option.

If it can't find //safe, try it's ip address, like //192.168.0.101/safe

You can't dd a running system, by the way. You'll have to do this from a livecd of some sort.

Last edited by Corona688; 03-01-2012 at 03:01 PM..
# 5  
Old 03-01-2012
Quote:
Do it manually. Save your boot sector and /etc/fstab so you know what kind of partitions belong where, then create tarballs of the contents of every partition. By restoring the boot sector, 'w'-ing it inside 'fdisk', re-creating empty partitions and un-taring their contents in them, you ought to create a bootable system.
The following is the content of my /etc/fstab file:
Code:
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/sda6       /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda7 during installation
UUID=ea0965c8-d66b-4f0e-bb20-ed629eb011fc none            swap    sw              0       0

Quote:
so you know what kind of partitions belong where
so , here the only thing i need to backup is /dev/sda6.
Quote:
then create tarballs of the contents of every partition
so, i'l try to backup /dev/sda6 using:
Code:
tar cvpjf backup.tar.bz2 (here how can i say to backup /dev/sda6?)

# 6  
Old 03-01-2012
Quote:
Originally Posted by Corona688
If those aren't familiar to you, don't try it
You're not familiar with it. Don't try it.

Quote:
Originally Posted by dr_mabuse
so, i'l try to backup /dev/sda6 using:
Code:
tar cvpjf backup.tar.bz2 (here how can i say to backup /dev/sda6?)

You can't tar a device file, only a folder. You put a disk on a folder by mounting it.
Code:
mount -o ro /dev/whatever /path/to/folder

You'll need the boot sector too. Without that you lose the bootloader.
# 7  
Old 03-01-2012
Well, OK then I need to mount /dev/sda6
mount -o ro /dev/sda6 /mnt/myDev
Quote:
You'll need the boot sector too. Without that you lose the bootloader
I don't understand this. how can i use the boot sector? and what do you mean that if the bootloader might get lost if i don use the boot sector?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Linux

Error on smbclient login on Red Hat

I have the smbclient installed and I am able to see information from the '-L' option. But when I attempt to login I'm getting the "NT_STATUS_BAD_NETWORK_NAME". I was hoping for help, because I'm not sure what is supposed to go into the smb.conf file. My goal is to transfer files from my Linux... (2 Replies)
Discussion started by: islanderman
2 Replies

2. UNIX for Dummies Questions & Answers

Using command line variables in smbclient

Hi All, Have written a couple of lines to move the contents of a folder from a unix box to a windows location using smbclient (below) smbclient '{servicename}' -A ~/.smbclientauth -c 'mkdir \test_folder"' smbclient '{servicename}' -A ~/.smbclientauth -c 'cd "; lcd ";... (4 Replies)
Discussion started by: gary2410
4 Replies

3. Shell Programming and Scripting

Shell Script - If and smbclient (ftp)...help

Hi, So I am writting a script to copy files from Linux to windows using smbclient, I have done this a fair amount of times now. Unfortunately this time I am using a simply if statement to determine if the file exists before beginning the smbclient section.....however if I tab the smbclient... (4 Replies)
Discussion started by: mcclunyboy
4 Replies

4. Shell Programming and Scripting

Issue on smbclient

Hi All, I've been facing on this issue. From SunOS to Windows /usr/local/samba/bin/smbclient \\IP\<source dir> -D $TARGET_DIR -U dir1/$WINDOWS_USER%$WINDOWS_PWD -c "put $SOURCE_FILE $TAR GET_FILE;exit" This command in my shell script work fine but the file saved on windows environment... (3 Replies)
Discussion started by: gio123bgg
3 Replies

5. Shell Programming and Scripting

smbclient - check if 'cd' is sucessful?

Hi, I've a question regarding a smbclient-Command in my shell script. Here my relevant script part: fileattr=`/opt/samba/bin/smbclient --authentication-file=$AUTH_FILE //$SMB_HOST/$SMB_SHARE 2> /dev/null prompt off cd $SMB_DIR put $LOC_FILE $SMB_FILE dir /$SMB_DIR/$SMB_FILE ... (17 Replies)
Discussion started by: FreddyDaKing
17 Replies

6. Shell Programming and Scripting

Using the smbclient

Hi, I am trying to use smbclient to send message to a windows machine.It is showing "connection failed message" . After googled I came to know about "smbfind" which will give me the nodes in my network. In that list the machine name was not present where I was trying to send the message. ... (1 Reply)
Discussion started by: forstudy3
1 Replies

7. UNIX for Dummies Questions & Answers

Smbclient on Unix

The directory on windows server is renamed and I need to change the directory location on smbclient on unix. How do i do that, please advice. (2 Replies)
Discussion started by: welldone
2 Replies

8. UNIX for Dummies Questions & Answers

smbclient print while preserving windows printer settings?

I have successfully gotten AIX to print to a windows shared printer with this command: smbclient -U user%password -W domain -c "print file.ext" the only problem is: I have this print queue set up on the Windows side to overlay an image to all pages. When printing from samba, the overlay... (2 Replies)
Discussion started by: raidzero
2 Replies

9. Solaris

Connect smbclient to an windows server 2003 with active directory

Hello everybody .. i want connect with smbclient to an windows server 2003 with active directory. Exist a version of samba that can do this? Thank you very much for your time. Good Luck :b: (3 Replies)
Discussion started by: enkei17
3 Replies

10. UNIX for Advanced & Expert Users

Incomplete reading and transferring zip file via SAMBA smbclient

Hello, Anyone out there can help on this problem? I have a zip file about 34MB containing a file in EBCDIC and is resided on a Windows 2000 server. This zip file is retrieved and read from a UNIX server via SAMBA "SMBCLIENT" (by default the file is transferred via command bin) and issued... (2 Replies)
Discussion started by: eddie Law
2 Replies
Login or Register to Ask a Question