tcgetattr: Inappropriate ioctl for device after ssh command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting tcgetattr: Inappropriate ioctl for device after ssh command
# 8  
Old 06-03-2011
Neat, command line parameters for /dev/stdin as a script! I'd use ksh or bash, whatever my login was, so testing is easy.

Does sh honor #! in this case? I am guessing not, it is part of exec()!

Last edited by DGPickett; 06-03-2011 at 02:55 PM..
# 9  
Old 06-06-2011
Quote:
Originally Posted by DGPickett
Does sh honor #! in this case?
Certainly not. Since you get to run your shell of choice from the get-go that's not too bad.
# 10  
Old 06-10-2011
Well. I have the same problem while trying to copy some web content from one server called Server2 to another one called Server1. The script runs on Server2:

Code:
#!/bin/bash
#
# copying.sh

path=/var/web/somewhere
login=user

su $login <<EOF
ssh -tt server1
sudo chown -R $login:$login $path/somefolder1
cpdup -C -v -d -I -i0 server2:$path/somefolder2 $path/somefolder1
sudo chown -R ftp:ftp $path/somefolder1
exit
EOF

The script does what it's expected to do, but the output gets instantly messed up with this tcgetattr: Inappropriate ioctl for device warning which is really annoying and I want to get rid of it. The point is that the destination folder on Server1 is a vsftpd-folder that has ftp:ftp ownership. So I have to change it to user:user first, cpdup it, then change it back to the original ftp:ftp. Looks kinda messy, I know. But how is it possible to make it simpler while preserving the original ownership since it is necessary for the user to get to Server1 through vsftpd from time to time? Thank you.
# 11  
Old 06-10-2011
Well, ssh without a remote command and maybe especially with -t or -tt thinks it will be somewhat like an interactive session, but your stdin is a flat file. Why do that? a simple "ssh user@host 'commands'" is usually sufficient, with no remote tty or terminal control error messages.
This User Gave Thanks to DGPickett For This Post:
# 12  
Old 06-13-2011
Quote:
Originally Posted by DGPickett
Well, ssh without a remote command and maybe especially with -t or -tt thinks it will be somewhat like an interactive session, but your stdin is a flat file. Why do that? a simple "ssh user@host 'commands'" is usually sufficient, with no remote tty or terminal control error messages.
Thanks,

I missed I'd better just ssh to the server rather than su and ssh (it's a key-based authentication only):

update (sorry, missed some parts of the updated script)

Code:
#!/bin/bash
#
# copying.sh 
path=/var/web/somewhere
login=user  
ssh -t $login@server1 "
   sudo chown -R '$login':'$login' '$path'/somefolder1 
   cpdup -C -v -d -I -i0 server2:'$path'/somefolder2 '$path'/somefolder1
   sudo chown -R ftp:ftp '$path'/somefolder1
"

Now it goes with no warnings though I still need at least one -t while ssh-ing to have a tty-assignment to sudo since it ends up with "sudo: sorry, you must have a tty to run sudo" otherwise.

Last edited by ringo_r; 06-14-2011 at 12:14 AM..
# 13  
Old 06-13-2011
Yes, and often you cannot ssh to root. Is server2 where you start out? Can you ssh in as ftp, or even simpler, scp in as ftp?
# 14  
Old 06-14-2011
Yes. Root is not allowed to ssh. And I used to use another script before which I created to mirror the content. It is an ftp-based one. And it's way simpler than using ssh in this case. A corresponding part of it is:

Code:
lftp -u $login,$password server1 <<EOF
        lcd $path/$login
        mirror -e -a --parallel=1 --reverse -v .
        by
EOF

Much shorter and clearer I guess. The scripts reads the password from a hidden file. But the point is that it is not that safe as ssh.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Inappropriate ioctl for device

Sample program tty, this will be get called from my script test_script. #include <stdio.h> #include <unistd.h> #define TTY_NAME_MAX 32 #define STDIN_FILENO 0 /* Standard input. */ int main(void) { int ret = 0; char local_device_file; printf("\npid =... (7 Replies)
Discussion started by: Gajendra_PH
7 Replies

2. UNIX for Dummies Questions & Answers

Tcgetattr: Inappropriate ioctl for device

Hi, ssh -q -t -l $usr $host bin/test.sh I am using above command to run script remotely. script is working without any issues. but I am getting "tcgetattr: Inappropriate ioctl for device" message on console. plz help how can I avoid this message. Thanks Moved thread from Emergency... (1 Reply)
Discussion started by: Kri
1 Replies

3. UNIX for Advanced & Expert Users

nohup: can't detach from console: Inappropriate ioctl for device

Hi! I am getting a nohup issue on mac osx while trying to start a process through nohup in the startup script. nohup: can't detach from console: Inappropriate ioctl for device Please help! Thanks, Allan. (0 Replies)
Discussion started by: jacki
0 Replies

4. Shell Programming and Scripting

hdparm + Inappropriate ioctl for device

Hi All, Am finding performance of my SD card using hdparm. Code: hdparm -tT /dev/BlockDev0 /dev/BlockDev0: Timing cached reads: 1118 MB in 2.00 seconds = 558.61 MB/sec HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device Timing buffered disk... (1 Reply)
Discussion started by: amio
1 Replies

5. UNIX for Dummies Questions & Answers

mt command shows /dev/tape: inappropriate ioctl for device

Hello guys, on my Red Hat machine the /bin/mt status command gives the output dev/tape: inappropriate ioctl for device. This messages comes up after the Server has been rebooted. Anybody an idea? Thx masterofdesaster (8 Replies)
Discussion started by: masterofdesaste
8 Replies

6. Shell Programming and Scripting

Inappropriate ioctl for device

Dear all, Problem goes like this: I have a shell script which when run manually runs perfectly. When same script is executed through a job schdeduler I get an error as Inappropriate ioctl for device and the script fails. This problems seems quite guiling to me. Any clues are heartly... (11 Replies)
Discussion started by: RishiPahuja
11 Replies

7. Solaris

Inappropriate ioctl for device, format error

When I try to format a slice in Solaris 10 I get the follow error : -bash-3.00# mkfs /dev/dsk/c1d0s5 18877824 Can not determine partition size: Inappropriate ioctl for device Some format command output:.... AVAILABLE DISK SELECTIONS: 0. c1d0 <DEFAULT cyl 38735 alt 2 hd 64 sec 63>... (2 Replies)
Discussion started by: spoonman
2 Replies

8. UNIX for Dummies Questions & Answers

Inappropriate ioctl for device

Hello, I have a cron entry: 59 23 * * * . $HOME/.profile;mydate=`date '+%Y%m%d'`;mv filename filename_$mydate Which works fine interactively, but gives me the following error when it runs in cron: Your "cron" job on servername . $HOME/.profile;mydate=`date '+ produced the... (4 Replies)
Discussion started by: steelrose
4 Replies

9. UNIX for Dummies Questions & Answers

Inappropriate ioctl for device

When I try to format a slice in Solaris 10 I get the follow error :confused: : -bash-3.00# mkfs /dev/dsk/c1d0s5 18877824 Can not determine partition size: Inappropriate ioctl for device Some format command output:.... AVAILABLE DISK SELECTIONS: 0. c1d0 <DEFAULT cyl 38735 alt 2... (0 Replies)
Discussion started by: spoonman
0 Replies

10. Filesystems, Disks and Memory

Inappropriate ioctl for device

Hi, We are running a perl script to upload some data using SQL* Loader. We pipe the data in a http request to SQL*Loader which loads the data to the database. We encounter the error "Inappropirate ioctl for device" when we try to upload huge data. Any solution would be greatly appreciated.... (4 Replies)
Discussion started by: tojaiganesh
4 Replies
Login or Register to Ask a Question